Pengisytiharan Medan Bit dalam Struktur C
Dalam C , sintaks ":1", ":7", ":16" , atau ":32" digunakan dalam pengisytiharan struktur untuk menentukan saiz bit medan bit. Ini membolehkan kawalan yang lebih besar ke atas reka letak memori dan penggunaan ruang yang cekap.
Dalam contoh yang disediakan:
unsigned char a : 1; unsigned char b : 7;
":1" dan ":7" menandakan saiz bit bagi pembolehubah a dan b, masing-masing. Ini bermakna a akan menduduki 1 bit manakala b akan menduduki 7 bit. Biasanya, medan bit digunakan dalam struktur untuk mencipta struktur data padat, selalunya untuk mewakili bendera atau nilai kecil yang tidak memerlukan bait penuh storan.
Untuk menggambarkan lebih lanjut, pertimbangkan kod berikut:
typedef struct { unsigned char leftFour : 4; unsigned char rightFour : 4; } tTwoNybbles;
Di sini, tTwoNybbles mewakili struktur dengan dua medan bit 4-bit bernama leftFour dan rightFour. Ini dengan berkesan menyimpan dua nybbles (4 bit setiap satu) dalam pembolehubah char 8-bit.
Menurut piawai C 11, pengisytiharan medan bit ikut peraturan berikut:
Atas ialah kandungan terperinci Bagaimanakah Medan Bit dalam Struktur C Mengawal Susun Atur dan Saiz Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!