40888888888 2022-04-13 19:12 采纳率: 82.8%
浏览 28
已结题

结构体的大小应该怎么计算,我考试的书上说的是各成员的和(理论上)



描述了一个人的时候就觉得自己很优秀的人才市场的问题,我们的生活方式就是这样一种感觉

img

img

  • 写回答

3条回答 默认 最新

  • A-Chin 2022-04-13 19:30
    关注
    1. union的size是里面成员中最大的size,而不是所有的都加在一起,所以 A 中是 int + union U = 4 + 4 = 8;这里暂时没有补齐的情况。

    2. 第二个是要考虑补齐的情况:char(1),short(2)和double(8)
      这里就变成了:1 + (3,补齐) + 2 + (2,补齐)+ 8 = 16
      而且这个结果需要是struct中元素中最大size的整数倍,即8的最小整数倍且大于等于16,16刚好是8的整数倍,所以结果是16
      补充说明,如果这里把char去掉,就变成:2 + (2,补齐)+ 8 = 12,需要是struct中元素中最大size的整数倍,即8的最小整数倍且大于等于12,因此是8的2倍,结果依旧是16

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 关于#微信#的问题:微信实名不绑卡 可以实现吗 有没有专家 可以解决
  • ¥15 (标签-考研|关键词-set)
  • ¥15 求修改代码,图书管理系统
  • ¥15 请问有没求偏多标签数据集yeast,reference,recreation,scene,health数据集。
  • ¥15 传感网应用开发单片机实训
  • ¥15 Delphi 关于sAlphaImageList使用问题
  • ¥15 寻找将CAJ格式文档转txt文本的方案
  • ¥15 shein测试开发会问些啥我是写java的
  • ¥15 关于#单片机#的问题:我有个课程项目设计,我想在STM32F103veTX单片机,M3主控模块上设计一个程序,在Keil uVision5(C语言)上代码该怎么编译?(嫌钱少我可以加钱,急急急)
  • ¥15 opnet仿真网络协议遇到问题