struct Y { int a; }; struct Z { double z; }; union X { Y y; Z z; };