このような構造のビットフィールドを使用しましたが、
struct
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
今、これがユニオンでできるかどうか疑問に思ったので、コードを次のように変更しました。
union
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
ユニオンで動作するビット フィールドを見つけましたが、出力から理解したように、ユニオン内のこれらのフィールドはすべて 1 つのビットに与えられます。ビットフィールドをユニオンで使用することは間違いではありませんが、このように使用することは操作上正しくないように思えます。では、答えは何ですか - ユニオンでビットフィールドを使用することは有効ですか?