求大侠指教,帮看下为什么sizeof结果是4
union data
{
struct bit
{
unsigned a:2;
unsigned b:3;
unsigned c:3;
};
char d;
}s;
sizeof(s)=4 为什么?
[解决办法]
是四的
你看看关于位域sizeof的操作
http://blog.sina.com.cn/s/blog_60a9446b0100mbx6.html
然后对union进行sizeof的话,就会取其中sizeof最长的那个成员的,这里最长的是成员r,所以就是4了