Gelagat Pembolehubah Tidak Dimulakan sebagai Pemula Sendiri
Dalam C dan C , pembolehubah tidak diinisialisasi tidak diberikan nilai tertentu. Yang menghairankan, menggunakan pembolehubah tidak dimulakan ini untuk memulakan dirinya nampaknya sah dalam senario tertentu dengan piawaian C99, C11 dan C 11. Ini menimbulkan persoalan tentang gelagat binaan tersebut.
Elaun Pengkompil
Penyusun membenarkan gelagat ini kerana pembolehubah yang tidak dimulakan mempunyai nilai yang tidak tentu apabila digunakan sebagai pemulanya. Nilai tak tentu ini boleh sama ada tidak ditentukan atau perwakilan perangkap.
Gelagat Piawai
Piawaian C/C menyatakan bahawa kelakuan menggunakan pembolehubah tidak dimulakan dalam permulaannya sendiri adalah bergantung kepada pelaksanaan. Walau bagaimanapun, penjelasan lanjut diberikan:
Pertimbangan Tambahan
Adalah penting untuk diperhatikan bahawa tingkah laku yang tidak ditentukan masih boleh berlaku jika pembolehubah yang tidak dimulakan tidak pernah mengambil alamatnya. Menurut piawaian C11, ini menghasilkan gelagat yang tidak ditentukan apabila menggunakan objek dengan tempoh storan automatik yang boleh diisytiharkan sebagai kelas storan daftar.
Oleh itu, secara amnya disyorkan untuk mengelak daripada menggunakan pembolehubah tidak dimulakan dalam pemulaan mereka sendiri, kerana tingkah lakunya bergantung pada pelaksanaan dan berpotensi membawa kepada hasil yang tidak ditentukan.
Atas ialah kandungan terperinci Adakah Sah untuk Memulakan Pembolehubah dengan Nilai Tidak Ditentukan Sendiri dalam C dan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!