Es ist ein Bitfeld , was bedeutet, dass der Wert nur ein Bit verwendet, anstatt 32 (oder was auch immer sizeof(unsigned) * <bits-per-byte>
ist auf Ihrer Plattform).
Bitfelder sind nützlich für das Schreiben kompakter binärer Datenstrukturen, obwohl sie mit gewissen Leistungskosten verbunden sind, da der Compiler / die CPU nicht ein einzelnes Bit aktualisieren kann, sondern AND / OR-Operationen beim Lesen / Schreiben eines vollen Bytes ausführen muss.
Trigraphs
und BCPLComment
verwenden nur 1 Bit zum Speichern von Werten.
Zum Beispiel
%Vor% verwendet nur 8 Bit Speicher. struct S
kann ein einzelnes Byte oder einen Speicher verwenden.
sizeof(S)
ist 1 für den Fall einiger Implementierungen.
Aber type
und temp
ist gleich 0,1,2 oder 3. Und num
ist
gleich 0,1,2, ..., nur 15.