#pragma pack

阅读 72

2022-05-19


#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

这个在网络编程时,构造数据包的时候会用到,如:原始套接字的网络编程




精彩评论(0)

0 0 举报