假设 sizeof(char)=1,sizeof(short)=2, 那么sizeof(sampleStruct) =1, sizeof(sampleUnion) =2
输出结果是:6,4
字符类型占1字节, 可以从任何地址开始
short类型占2字节, 必须从2字节倍数地址开始
int类型占4字节,必须从4字节倍数地址开始
0000 a[0]
0001 a[1]
0002 a[2]
0003 空一个字节
0004 b 这个是2倍数的地址
0005
结构体在内存组织上是顺序式的,联合体则是重叠式,各成员共享一段内存,所以整个联合体的sizeof也就是每个成员sizeof的最大值。
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题