#pragma pack(1)
int main(int argc, char* argv[])
{
struct sample
{
char a;
double b;
};
printf("%d\n",sizeof(sample));
return 0;
}
结果是9
如果没有#pragma pack(1),结果是16
#pragma pack(1)意思是结构体和联合按1字节方式对齐,取值有1, 2, 4, 8, or 16
#pragma pack 的值是8
这个在网络编程时,构造数据包的时候会用到,如:原始套接字的网络编程