私がユニオンを持つ場合、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 == uc [0]'とは言わないか、iの下位バイトはc [0](endianness)であることが保証されていないことに注意してください。 – Spudd86