#pragma pack(4)
typedef struct{
int8_t a;
int32_t b;
int8_t c;
int8_t d;
int16_t e[10];
}TestStu;
#pragma pack()
以上定义的结构体,测试的时候,使用sizeof()函数求取size的时候,
在不添加pragma pack()得到的size是32
pack的值依次为1、2、4的时候,得到的size依次为27、28、32
TestStu stu;
qDebug()<<sizeof (stu);
修改struct的类型,
将int32_t的类型改为int16_t,则求取的size为28,
以上
不添加pack,默认以结构体中的最大位数对齐,
加了pack,以pack的值的位数对齐