首页 > 技术文章 > struct 对齐

noprofessional 2018-09-12 22:16 原文

  1. 每一个成员的offset必须是sizeof(Type)的整数倍,第一个成员offset一定为0.
  2. 在最后一个成员之后的pad,要使sizeof(struct)是 max(sizeof(Type))的整数倍;

struct{short a;/*2+2*/; int b /*4*/; char c/*1+7*/; double d/*8*/; char e/*1*/,/*7*/} sizeof(struct) = 32;

推荐阅读