sizeof(STRUCT)的问题


typedef struct A
{
    WORD m1;
    WORD m2;
    LONGLONG n1;
    LONGLONG n2;
    LONGLONG n3;
    DWORD x;
}a;


然后,sizeof(A),等于多少?
40!!
WORD是2,DWORD是4,LONGLONG是8
2+2+8+8+8+4 = 32呀?怎么会是40?

原来是VC编译器的问题,project/setting中设置C++编译选项,将struct member alignment从默认的8 bytes设为1 byte,就好了。
...

可是,编译出现了很多warning,怎么办呢?可以用
#pragma pack(push,1)
typedef struct A
{
...
};
#pragma pack(pop)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值