字节对齐的原则是什么?

  • 从偏移为0的位置开始存储;
  • 如果没有定义#pragma pack(n)
    • sizeof的最终结果必然是结构内部最大成员的整数倍,不够补齐;
    • 结构内部各个成员的首地址必然是自身大小的整数倍;
  • 如果定义了#pragma pack(n)
    • sizeof的最终结果必然必然是min[n,结构内部最大成员]的整数倍,不够补齐;
    • 结构内部各个成员的首地址必然是min[n,自身大小]的整数倍。

发表评论

后才能评论

评论(2)