中易网

32位机器下使用sizeof函数得到的大小为什么是6和8?请详细解释,给高分,谢谢

答案:1  悬赏:80  
解决时间 2021-01-16 20:51
  • 提问者网友:愿为果
  • 2021-01-16 06:23
32位机器下使用sizeof函数得到的大小为什么是6和8?请详细解释,给高分,谢谢
最佳答案
  • 二级知识专家网友:街头电车
  • 2021-01-16 07:32
结构 B 的成员长度不等,内存分配时要考虑 4 字节 对齐。
long a1 -- 4 bytes
short a2 -- 2 bytes
共 6 字节,考虑 4 字节 对齐 ,分配 8 字节。

结构 A 成员长度 一样,所以 分配 了 6 字节。
如 果 是 struct {short a,b,c; char dd;}A; 就会考虑对齐 分配 8 字节
如 果 是 struct {short a,b; char dd;}A; 就会考虑对齐 分配 6 字节
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息