Rumah >pembangunan bahagian belakang >C++ >Adakah `sizeof` dalam C Dinilai pada Compile-Time atau Runtime?
Adakah saiz dalam C Bergantung pada Penyusunan atau Masa Jalan?
Saiz operator dalam C , seperti yang tersirat oleh namanya, mengembalikan saiz jenis data atau pembolehubah. Walau bagaimanapun, salah tanggapan yang biasa ialah sama ada saiz ini ditentukan pada masa penyusunan atau masa jalan.
Penjelasan
Bertentangan dengan tanggapan yang salah, saiz bagi dinilai pada masa penyusunan. Ini bermakna ia menganalisis kod sumber dan menentukan saiz jenis data atau pembolehubah berdasarkan tetapan pengkompil dan mesin yang sedang dijalankan. Hasilnya ialah nilai malar yang digunakan sepanjang pelaksanaan program.
Sebagai contoh, pertimbangkan coretan kod berikut:
<code class="c++">sizeof(short int)</code>
Kod ini menilai kepada nilai malar, tanpa mengira mesin tempat program dilaksanakan. Ia tidak bergantung pada saiz jenis data asas pada mesin yang menjalankan program.
Kesimpulan
Ringkasnya, sizeof dalam C ialah operator masa kompilasi yang mengira saiz jenis data atau pembolehubah berdasarkan tetapan pengkompil pada masa penyusunan. Hasilnya ialah nilai tetap yang digunakan sepanjang pelaksanaan program, bebas daripada persekitaran masa jalan.
Atas ialah kandungan terperinci Adakah `sizeof` dalam C Dinilai pada Compile-Time atau Runtime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!