struct st
{
double d;
char c;
short l;
int i;
}w;
int main()
{
printf("%d\n", sizeof(short));
printf("%d", sizeof(w)); //此时我输出的是16
}
但是倒个次序就变成24了
struct st
{
double d;
char c;
int i;
short l; //int和short倒了个次序
}w;
int main()
{
printf("%d\n", sizeof(short));
printf("%d", sizeof(w)); //这里就变成24了
}
不应该都可以补在char类型对齐空出来的那7个里面么,为啥倒一倒就不行了。想半天想不通哇