【发布时间】:2010-10-27 20:21:50
【问题描述】:
如果我有一个联合,C 标准保证联合本身将与最大元素的大小对齐。
union U {
long l;
int i;
short s;
char c[2];
} u;
但是关于联合内单个联合元素的对齐,它说明了什么?下面的表达式是否保证为真?
(&u.l == &u.i) && (&u.i == &u.s) && (&u.s == &u.c[0])
【问题讨论】:
-
提醒您记住标准没有说的
u.i&0xFF == u.c[0]或 i 的低位字节不保证是 c[0](字节序)