c++结构成员对齐问题

我要读取一个文件时,需要读取这么一个结构
struct Monster
{
    BYTE x;
    BYTE y;
    DWORD id;
};


这个结构体,测试sizeof(Monster)为8字节。
但一个BYTE为1字节,一个DWORD为4字节,加起来为6字节。
无故多出来2字节。

昨天研究很久也没有解决,今天问金老大,他告诉再IDE里可以设置,
设置一下“结构成员对齐”,在vs2003中的设置方式:
右键项目>>属性>>C/C++>>代码生成>>结构成员对齐>>设置为“1 字节(/Zp1)”
这样sizeof(Monster)为6字节。

你可能感兴趣的:(C++,c,C#,ide)