Rumah >pembangunan bahagian belakang >C++ >Adakah saiz Operator dalam C Menilai pada Masa Kompilasi atau Masa Jalankan?

Adakah saiz Operator dalam C Menilai pada Masa Kompilasi atau Masa Jalankan?

DDD
DDDasal
2024-11-03 21:00:29474semak imbas

Does the sizeof Operator in C   Evaluate at Compile Time or Run Time?

Adakah Masa Penilaian saiz Operator dalam C Bergantung pada Mesin?

Saiz operator dalam C mengira saiz jenis data atau pembolehubah, tetapi adakah hasilnya bergantung pada mesin tempat kod disusun atau tempat fail boleh laku dijalankan?

Masa Penilaian saiz

Jawapan untuk ini soalan adalah tidak. Tidak seperti beberapa pengendali lain, penilaian saiz berlaku pada masa penyusunan. Ini bermakna pengkompil menentukan saiz jenis data atau pembolehubah apabila program disusun, bukan apabila ia dilaksanakan.

Sebagai contoh, pertimbangkan coretan kod berikut:

<code class="cpp">sizeof(short int)</code>

Hasil coretan kod ini adalah sama tanpa mengira mesin mana yang menyusunnya atau menjalankan boleh laku. Ini kerana pengkompil akan menentukan saiz jenis data int pendek semasa penyusunan, yang biasanya 2 bait. Fail boleh laku hanya akan membawa maklumat ini, dan saiz sebenar int pendek pada mesin tempat program dijalankan tidak akan menjejaskan keputusan.

Oleh itu, masa penilaian saiz operator dalam C ditentukan pada masa menyusun, bukan pada masa larian.

Atas ialah kandungan terperinci Adakah saiz Operator dalam C Menilai pada Masa Kompilasi atau Masa Jalankan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn