请教一个关于位域变量所占字节大小的问题(内附程序)
# include <iostream.h>
void main()
{
union status
{
unsigned int good:1;
unsigned int failed:1;
unsigned int bad:1;
int val:9;
}data;
cout<< "sizeof(data)="<<sizeof(data)<<endl;
}
书上说,以上程序告诉编译器,good,fail,bad成员各占一位,val成员占用9位.
我觉得最终输出应该是sizeof(data)=3,即(1+1+1+9)/4=3.
但是答案是sizeof(data)=4.
小弟刚开始学C++,还望各位大侠指点...