Memahami Sihir Di Sebalik Array[100] = {0}; Permulaan
Apabila menemui tatasusunan coretan kod C/C[100] = {0}, pembangun mungkin tertanya-tanya bagaimana pengkompil memulakan semua elemen tatasusunan kepada sifar dengan mudah.
Mekanisme Permulaan Pengkompil
Tingkah laku ini bukan sihir misteri melainkan aspek yang jelas bagi spesifikasi C dan C.
Dalam C
Seperti seksyen 6.7.8.21 spesifikasi C, elemen yang tidak dimulakan dalam tatasusunan akan dimulakan seperti berikut:
Ini digunakan secara rekursif pada tatasusunan dan struktur bersarang.
Dalam C
Bahagian 8.5.1.7 spesifikasi C menyatakan bahawa elemen yang tidak dimulakan dalam tatasusunan akan dimulakan secara agregat. Inisialisasi agregat memulakan nilai elemen kepada nilai lalainya, yang untuk aksara adalah sifar.
Senarai Pemula Kosong
Dalam C , anda juga boleh menggunakan tatasusunan senarai pemula kosong [100] = {}; untuk mencetuskan permulaan agregat untuk semua elemen tatasusunan.
Output Himpunan Pengkompil
Kod pemasangan khusus yang dijana oleh pengkompil mungkin berbeza-beza berdasarkan pelaksanaan khusus. Walau bagaimanapun, ia biasanya melibatkan memulakan sebahagian daripada tatasusunan dan menyalin nilai yang dimulakan kepada elemen yang tinggal.
Atas ialah kandungan terperinci Bagaimanakah `array[100] = {0};` Memulakan Keseluruhan Tatasusunan kepada Sifar dalam C/C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!