#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
這個在網絡程式設計時,構造資料包的時候會用到,如:原始套接字的網絡程式設計