Was ist der Typ eines Bitfeldes?

Ich kann nirgendwo in der C-Norm finden, wo dies angegeben ist. Zum Beispiel in

struct { signed int x:1; } foo;

istfoo.x ein Wert vom Typint, oder etwas anderes? Es erscheint unnatürlich, wenn es sich um einen Wert vom Typ handeltint da Sie keinen Wert vom Typ speichern könnenint in ihm nur 0 oder -1, aber ich kann keine Sprache finden, die ihm einen anderen Typ zuweisen würde. Natürlich wird es in den meisten Ausdrücken zu befördertint sowieso, aber der eigentliche typ macht bei c11 einen unterschied mit_Generic, und ich kann im Standard keine Sprache finden, wie Bitfelder interagieren_Generic entweder.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage