Czy poprawne jest używanie pól bitowych z unią?
Użyłem pola bitowego o takiej strukturze,
struct
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
Teraz zastanawiałem się, czy można to zrobić za pomocą unii, więc zmodyfikowałem kod, jak,
union
{
unsigned int is_static: 1;
unsigned int is_extern: 1;
unsigned int is_auto: 1;
} flags;
Znalazłem pole bitowe za pomocą funkcji union, ale wszystkie te pola w unii są podane do pojedynczego bitu, jak zrozumiałem z wyjścia. Teraz widzę, że nie jest błędem używanie pól bitowych z unią, ale wydaje mi się, że używanie tego w ten sposób nie jest poprawne pod względem operacyjnym. Jaka jest więc odpowiedź - czy ważne jest użycie pola bitowego z unią?