位字段的字段部分似乎表明它们只能是结构或联合中的字段。位字段是否可以是典型的“独立”变量,位于任何聚合数据类型之外,如以下联合或结构:
int sum:6; //Can this work as a declaration statement?如果位域基本上打算使用更少的内存,为什么我们不能将任何变量声明为位域,如果我们知道它不会超过那个大小的话?
对于下面的代码: int a :1; int c :1;对于test1,因为每个字段只需要1位,所以对于test1来说,1字节(8位)应该足够了。添加1 char a :4;} test2;
对于test2,由于char是8位>4+ 3,所以我认为对test2来说1个字节就足够了。但sizeof(test2)仍然和<