hjwdashuaibi 2023-05-21 20:55 采纳率: 47.4%
浏览 21
已结题

C语言为什么这个结构体变量大小是27

关于这个计算结构体变量的大小的

img


不用内存对齐吗,而且就算不用对齐,它不应该最少是29吗

  • 写回答

2条回答 默认 最新

  • GEEK.攻城狮 2023-05-21 22:03
    关注

    我印象很久之前,好像有些系统和编译器下是不对齐的,并且int是2字节,这样正好是2+21+4=27。这种就属于老题目继续拿来用,结果在现在常用的编译环境下,答案就是错的了。不用纠结这种题目,但凡负责任点的老师,就不会出到试卷上的。
    这种题目,实际情况下知道怎么编程取出来占空间就行了。另外要知道怎么调整顺序能够节省占用空间。
    这道题在不同系统编译器下,占用空间是不同的。
    在64位系统里面,都是4字节对齐的,所以是4+24(1+20然后四字节对齐)+4=32字节,里面没有正确答案

    img

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

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月21日