Register__ 2022-01-11 00:33 采纳率: 89.5%
浏览 19
已结题

C/C++类/结构体的内存大小问题,此外 vscode 怎么调32/64 位

img


这是终端输出

img


我寻思 4+8 不是 = 12 吗?

还有 ,我这个sizeof(指针类型)是8字节 说明是 64 位的 vscode 怎么调 32/64 位 不像 visual studio 那样直接调吗?

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-01-11 06:20
    关注

    每个数据类型都有对齐要求(为了执行效率),比如指针类型在64位机器上按8字节对齐,int类型按4字节对齐。所以结构体内ele按4字节对齐,next按把8字节对齐,ele与next之间有4个字节间隙,整个结构体大小为16字节

    https://en.cppreference.com/w/cpp/language/object#Alignment

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月19日
  • 已采纳回答 1月11日
  • 创建了问题 1月11日