Let's say we have the following union
union {
struct {
unsigned a : 3;
unsigned b : 10;
unsigned c : 3;
} s;
unsigned i;
} u;
Can you rely on u.i
always having the same value if u.s
has some value u.s = { .a = A, .b = B, .c = C }
or is this implementation defined?