Consider:
union { int i; char c; } x = {0}; x.c = x.i;
C 2018 6.15.16.1 3, about simple assignment, says:
If the value be