关于结构体中字节对齐问题
以前觉得自己对这个问题已经了解了,今天突然做了个实验,发现。。。。。还迷糊 -_-@
麻烦各位讲解下,谢谢
typedef Data
{
char c;
double a;
}x;
typedef Data
{
double a;
char c;
}y;
printf("%d", sizeof(x)); //32位系统输出为16
ptintf("%d", sizeof(y)); //结果同上。。
这样2个结构体,按照我原来的理解,输出的结果应该是不一致的
第一个因为结构体中先定义的char型,为了字节对齐,要补上7个字节,这个好理解。。
但第二个为什么输出也要补啊。。。。