struct x
{
char b;
short s;
char bb;
};
int main()
{
printf("%d",sizeof(struct x));
}
Run Code Online (Sandbox Code Playgroud)
输出为:6
我在32位编译器上运行此代码.输出应该是8个字节.
我的解释 - > 1. Char需要1个字节,下一个short需要2的倍数,所以short创建1的填充并占用2个字节,这里已经分配了4个字节.现在唯一的左边的char成员需要1个字节但是因为内存分配是4的倍数所以总内存给出的是8个字节.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |