1. ¿Qué es un segmento de bits?
Un campo de bits define el espacio ocupado por las variables miembro en una estructura (o unión) en unidades de bits.
Nota: 1. Los miembros del campo de bits deben ser int, int sin firmar o int con firma, char
2. El nombre del miembro del campo de bits va seguido de dos puntos y un número.
struct A
{
int a :2; //a占两个bit位
int b : 5;
int c : 10;
int d : 30;
}
2. Asignación de memoria del segmento de bits
1. El espacio del segmento de bits se abre con 4 bytes (int) o 1 byte (char) según sea necesario
2. Los campos de bits no son multiplataforma y los programas portátiles deben evitar el uso de campos de bits.
3. Un segmento de bits debe almacenarse en la misma unidad de almacenamiento y no puede abarcar dos unidades de almacenamiento
Ejemplo: en VS, la estructura A anterior se coloca como se muestra a continuación.
Primero coloque a, b, c, el espacio restante no es suficiente para poner d, y luego abra un int, coloque d, por lo que el tamaño de la estructura A es de 8 bytes
El espacio libre de la primera unidad de almacenamiento en la figura siguiente no puede contener a5, y es necesario abrir otra unidad de almacenamiento.