这个该怎么数啊,求告诉一下

img


这个已经不明白了,我好像结构体这里面,很混乱,求告诉这个东西该怎么看,能不能讲解一下,非常感谢

img

如有用,望采纳,感谢

27啊
union是联合,所有元素共享同一段内存,内存大小就是其中最长的一个成员的大小
num是4字节,name是12字节,gender是1字节,position是10字节,总共27字节

32位计算机,还不用考虑数据对齐,就简单的成员字节相加,从上往下 4 + 12 + 1 + 10 = 27.

4+12+1+10=27

32 系统,内存4 个字节对齐。
int ------占了4个字节
char[12] ----正好是4 的倍数,占了 12个字节
char 下一个4字节,但是题目提示不计较对齐,所以,这里是 1个字节
union 定义的时候,公用内存,使用最大的变量的内存,这里就是 char [10],10 个字节
所以,最后 4 +12 + 1 + 10 = 27