结构体对齐问题求解,问题如下

typedef struct
{
char a;
int b;
char c[0];
}stru;
为啥sizeof(stru)是8而不是4+4+4=12

应该是c[0]没有分配空间,但是这个取决于你的编译器。
你可以写
stru s;
printf("%p %p %p", &s.a, &s.b, &s.c);
看下三个指针