第一种
#pragma pack(push, 1) // 先把当前对齐设置压栈,再设置为1字节对齐struct S{ char a; int an[1];};#pragma pack(pop) // 恢复先前压栈的设置
#pragma pack(push, 1)相当于
#pragma pack(push) #pragma pack(1)
第二种
#pragma pack (n) //作用:C编译器将按照n个字节对齐。struct S{ char a; int an[1];}#pragma pack () // 作用:取消自定义字节对齐方式