一个关于struct与sizeof的问题
有如下定义
typedef struct a
{
unsigned int a1;
unsigned int a2;
unsigned int a3;
char a4[6];
char a5[16];
unsigned char a6;
unsigned int a7;
}aa;
sizeof(aa) 结果是 40,然而实际上大家可以算一下,应该是39,还有更奇怪的,你可以试着注释掉一部分,结果更离谱。
例如
typedef struct a
{
unsigned int a1;
unsigned int a2;
unsigned int a3;
char a4[6];
char a5[16];
// unsigned char a6;
unsigned int a7;
}aa;
sizeof(aa)结果还是40,然而算一下应该是38
这个问题是出现在C++ Builder 5(D板)中的,不知道是什么原因,请高人指点