размер структуры, содержащей битовые поля [дубликаты]
Возможный дубликат:
Почему нетt sizeof для структуры, равной сумме sizeof каждого члена?
Я пытался понять концепцию битовых полей. Но я не могу найти, почему размер следующей структуры в CASE III составляет 8 байт.
ДЕЛО I:struct B
{
unsigned char c; // +8 bits
} b;
SizeOf (б); // Вывод: 1 (потому что беззнаковый символ занимает 1 байт в моей системе)
СЛУЧАЙ II:struct B
{
unsigned b: 1;
} b;
sizeof(b); // Output: 4 (because unsigned takes 4 bytes on my system)
СЛУЧАЙ III:struct B
{
unsigned char c; // +8 bits
unsigned b: 1; // +1 bit
} b;
sizeof(b); // Output: 8
Я неЯ не понимаю, почему результат для случая III равен 8. Я ожидал 1 (символ) + 4 (без знака) = 5.