#pragma pack (1) //作用:使结构体按1字节方式对齐
#pragma pack ()
例如:
#pragma pack(1)
struct sample
{
char a;
double b;
};
#pragma pack()
若不用#pragma pack(1)和#pragma pack()将结构体包含起来,那么编译器默认按默认方式对齐(成员中size最大的那个)
即本例中按8字节(double)对齐,其中char只用1字节,有7个空字节,sizeof(sample)==16。若用#pragma pack(1),则sizeof(sample)=9,比较省空间,某些场合还能使结构体更易于控制。