struct A
{
char x1 : 4;
char x2 : 4;
unsigned short x3 : 8;
unsigned long x4;
}
sizeof(A)=?(不考虑边界对齐)
我在vs2010上测试 输出为 7 。
为什么不是 6 ?
------解决方案--------------------
如果想是6的话,把前边两个char修改为unsigned short,或者把第三个unsigned short修改为char也可以
对于不同的类型,vs系列是不能合并的,好像gcc可以?