Apabila memulakan struktur automatik atau tatasusunan dengan pengamula yang lebih sedikit daripada elemen, adalah penting untuk memahami tingkah laku yang ditentukan oleh piawaian C dan C.
Piawaian C mentakrifkan dua jenis pemula untuk pembolehubah automatik: pemulaan lengkap dan tiada pemulaan. Permulaan separa ialah istilah bukan standard yang merujuk kepada situasi di mana hanya subset elemen atau ahli dimulakan.
Standard C99
Dalam C99, untuk tatasusunan dan struktur automatik, jika terdapat lebih sedikit pemula daripada elemen, elemen yang selebihnya akan dimulakan secara tersirat sama seperti objek dengan tempoh penyimpanan statik. Ini bermakna ia dimulakan kepada 0 untuk jenis integer.
C 03 Standard
Dalam C , untuk tatasusunan dan struktur automatik, ahli yang tidak dimulakan adalah dimulakan nilai. Untuk jenis kelas, ini bermakna menggunakan pembina lalai. Untuk jenis terbina dalam seperti int, ini bermaksud sifar permulaan.
Dalam C, memulakan tatasusunan automatik integer dengan satu nilai, cth.:
int arr[10] = {123,};
akan memulakan elemen pertama kepada 123 dan semua elemen yang tinggal kepada 0, seperti yang ditentukan oleh C standard.
Kebanyakan penyusun arus perdana mengikut peraturan untuk permulaan separa seperti yang ditentukan oleh piawaian C dan C. Walau bagaimanapun, untuk memastikan keserasian merentas pengkompil yang berbeza, adalah disyorkan untuk memulakan semua elemen atau ahli secara eksplisit.
Atas ialah kandungan terperinci Bagaimanakah Struktur dan Tatasusunan Automatik Dimulakan Separa Dikendalikan dalam C dan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!