我使用的是Visual Studio 2013,并且struct alignment成员值设置为默认值(/ Zp8)。项目正在64位模式下构建。
struct x{
char e;
double f;
double g;
};
sizeof(x)
已返回24,这是正确的,因为它是8的倍数。但对于具有相同结构对齐值的以下结构
struct x{
char e;
long f;
long g;
};
sizeof(x)
返回12,这不是8的倍数。我对此感到困惑。
有人能帮我理解吗?