Ist es gültig, Bitfelder mit union zu verwenden?

Ich habe Bitfeld mit einer Struktur wie dieser verwendet,

struct
{
       unsigned int is_static: 1;
       unsigned int is_extern: 1;
       unsigned int is_auto: 1;
} flags;

Jetzt habe ich mich gefragt, ob das mit einer Union möglich ist, also habe ich den Code wie folgt geändert:

union
{
       unsigned int is_static: 1;
       unsigned int is_extern: 1;
       unsigned int is_auto: 1;
} flags;

Ich habe festgestellt, dass das Bitfeld mit union funktioniert, aber alle diese Felder in der union werden einem einzelnen Bit zugeordnet, wie ich es aus der Ausgabe verstanden habe. Jetzt sehe ich, dass es nicht irrtümlich ist, Bitfelder mit Vereinigung zu verwenden, aber es scheint mir, dass es nicht korrekt ist, sie so zu verwenden. Was ist also die Antwort - ist es gültig, Bitfelder mit Vereinigung zu verwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage