C/C++?????????????????
???????????? ???????[ 2013/6/14 11:03:03 ] ????????
?????й?C/C++????????????????????????????????????????Щ????????????????????????????
????1?????????????
????????ū????????????????????????????????????????????????????
?????????????struct????class??????????????????????????????????????????????????С????????struct/class????檔?????
struct align
{
double b;
char c;
int a;
};
??????????????壬???? double b ??????棬????y?????double???????????????double?8?????????????c??a??????????8??????????
sizeof(align)
????????????3*8=24????????????????????????壺
struct align
{
char c;
int a;
double b;
};
????c??????棬????1???????????a???????4???????????align?????8??????c:4??????a:4?????????b??double?????8??????????a+c?????????8??????????c+a+b??????????????? 4+4+8 = 16 ???????????????????????8??????
?????÷?????struct/class????????????С??????????С????????д????????????????????????
?????????????
?????е?class/struct??????????????????????????????????????洢??????????????????????鯔??????????÷????????????磺
struct product
{
int cdrom_amount;
double cdrom_unit_price;
int phone_amount;
double phone_unit_price;
};
??????????壬???鰴???????????????а???????????
????2????????????
?????????? #pragma pack(2) ??????
#pragma pack(2)
struct align
{
char c;
int a;
double b;
};
#pragma pack()
?????????????????????2???????????y?????????? 2+4+8 = 14 ??????????????????????????????????????????????????????ü????
#pragma pack()
???????????????????????????????????????????????????????????????Щ????????????????á?
?????????????????????????????Щ??????????????Щ?????????????????????????????????????????????????
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11