https://www.cnblogs.com/zl1991/p/7516387.html
#pragma pack (1) 作用:使结构体按1字节方式对齐
#pragma pack ()
例如:
#pragma pack(1)
struct sample
{
char a;
double b;
};
#pragma pack()
若不用#pragma pack(1)和#pragma pack()括起来,则sample按编译器默认方式对齐(成员中size最大的那个)。即按8字节(double)对齐,则sizeof(sample)==16.成员char a占了8个字节(其中7个是空字节);若用#pragma pack(1),则sample按1字节方式对齐sizeof(sample)==9.(无空字节),比较节省空间,有些场和还可使结构体更易于控制。