Rumah > pembangunan bahagian belakang > C++ > Adakah `sizeof(void)` memberitahu kami saiz jenis void dalam C atau C ?

Adakah `sizeof(void)` memberitahu kami saiz jenis void dalam C atau C ?

Mary-Kate Olsen
Lepaskan: 2024-12-03 20:05:27
asal
1082 orang telah melayarinya

Does `sizeof(void)` tell us the size of the void type in C or C  ?

Saiz Lompang Sukar

Soalan:

Bolehkah kita menentukan saiz jenis lompang dalam C atau C ? Pertimbangkan kod berikut:

void *p = malloc(sizeof(void));
Salin selepas log masuk
Sambungan: Jika sizeof(void) mengembalikan 1 dalam GCC, adakah penunjuk p akan meningkat kepada 0x2346 selepas p jika p mulanya dipegang 0x2345?

Jawapan:

Jenis void pada asasnya tidak mempunyai saiz, menjadikan ungkapan sizeof(void) tidak bermakna dan membawa kepada ralat kompilasi. Dalam C , ia adalah dilarang sama sekali.

Penemuan Tidak Dijangka:

Anehnya, apabila menyusun dalam GNU C, sizeof(void) menghasilkan 1. Walau bagaimanapun, tingkah laku ini terhad kepada GNU C dan tidak diperhatikan dalam C atau lain-lain pelaksanaan.

Implikasi:

Walaupun nilai pulangan yang tidak dijangka dalam GNU C, adalah penting untuk ambil perhatian bahawa void kekal sebagai jenis tanpa saiz. Penunjuk kepada batal, seperti p dalam contoh, adalah penunjuk tulen dan boleh ditambah seperti penuding lain. Operasi kenaikan dalam soalan sambungan akan berfungsi seperti yang diharapkan, dengan p menunjuk ke alamat memori yang tersedia seterusnya.

Atas ialah kandungan terperinci Adakah `sizeof(void)` memberitahu kami saiz jenis void dalam C atau C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan