Jeśli mam związek, standard C gwarantuje, że sam związek będzie dopasowany do rozmiaru największego elementu.Wyrównanie elementu Unii
union U {
long l;
int i;
short s;
char c[2];
} u;
Ale co mówi o wyrównaniu poszczególnych elementów związku w ramach związku? Czy poniższe wyrażenie jest gwarantowane?
(&u.l == &u.i) && (&u.i == &u.s) && (&u.s == &u.c[0])
przypomnieniem, aby pamiętać, co norma nie powiedzieć 'u.i & 0xFF == uc [0]' lub niski bajt kolejność nie jest gwarancją c [0] (bajt) – Spudd86