размер структуры, содержащей битовые поля [дубликаты]

Возможный дубликат:

Почему нет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.

Ответы на вопрос(6)

Ваш ответ на вопрос