如果我有一个联合,C标准保证联合本身将与最大元素的大小对齐.
union U {
long l;
int i;
short s;
char c[2];
} u;
Run Code Online (Sandbox Code Playgroud)
但它对联盟内各个联盟元素的对齐有什么看法呢?以下表达式是否保证是真的?
(&u.l == &u.i) && (&u.i == &u.s) && (&u.s == &u.c[0])
Run Code Online (Sandbox Code Playgroud)