Größe einer Struktur mit Bitfeldern [duplizieren]

Mögliche Duplikate:
Warum ist sizeof für eine Struktur nicht gleich der Summe sizeof jedes Mitglieds?

Ich habe versucht, das Konzept der Bitfelder zu verstehen. Ich kann jedoch nicht feststellen, warum die Größe der folgenden Struktur in CASE III 8 Byte beträgt.

FALL I:
struct B    
{
    unsigned char c;  // +8 bits
} b;

sizeof (b); // Ausgabe: 1 (weil vorzeichenloses Zeichen auf meinem System 1 Byte benötigt)

FALL II:
struct B
{
    unsigned b: 1;
} b;

 sizeof(b); // Output: 4 (because unsigned takes 4 bytes on my system)
FALL III:
struct B
{
    unsigned char c;  // +8 bits
    unsigned b: 1;    // +1 bit
} b;

sizeof(b); // Output: 8 

Ich verstehe nicht, warum die Ausgabe für Fall III 8 lautet. Ich habe 1 (Zeichen) + 4 (ohne Vorzeichen) = 5 erwartet.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage