关于unsigned int a:4,总结一下,还是有一些疑问的,请看...
就拿一个帖子
struct table_entry
{
int count ;
char c;
unsigned int f1 :4;
unsigned int f2 :1;
};
到底unsigned int f1:4是多少位呢?在PII 的RH Linux7.2上,unsigned int应该是4个字节的。同理,unsigned f2:1呢?
jpopop() 说,“f1和f2 4bytes”,怎样理解?
snowbirdfly说:一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。
那么,f1是用了4位,然后剩下的位(4个字节减去4位)全补0吗?还是,f1和f2全在一个字节中?
谢谢!