Я определил эту структуру:
typedef struct
{
char A:3;
char B:3;
char C:3;
char D:3;
char E:3;
} col;
sizeof(col)
дает мне результат 3, но не должен ли он быть 2? Если я прокомментирую только один элемент, sizeof
равно 2. Я не понимаю, почему: пять элементов из 3 бит равны 15 битам и меньше 2 байтов.
Существует ли "внутренний размер" в определении структуры, подобной этой? Мне просто нужно уточнение, потому что из моего представления о языке до сих пор я ожидал размер 2 байта, а не 3.