【发布时间】:2012-07-04 19:15:54
【问题描述】:
我用过这样结构的位域,
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;
我找到了具有联合工作的位字段,但是正如我从输出中所理解的那样,联合中的所有这些字段都被赋予了一个位。现在我看到使用联合位字段并没有错误,但在我看来,像这样使用它在操作上是不正确的。那么答案是什么 - 将位域与 union 一起使用是否有效?
【问题讨论】:
-
请问,什么操作不正确?
标签: c structure bit-fields unions