modernc.org/ccgo/v3@v3.16.14/lib/testdata/bug/struct.c (about) 1 struct outer { 2 char magic; 3 char pad1[3]; 4 union { 5 char ceiling; 6 char unused; 7 }; 8 char pad2[3]; 9 char owner; 10 }; 11 12 struct outer x = { 13 .magic = '1', 14 .pad1 = {'2', '3', '4'}, 15 .ceiling = '5', 16 .pad2 = {'6', '7', '8'}, 17 .owner = '9', 18 }; 19 20 char buf[10]; 21 22 int main() { 23 buf[0] = x.magic; 24 buf[1] = x.pad1[0]; 25 buf[2] = x.pad1[1]; 26 buf[3] = x.pad1[2]; 27 buf[4] = x.ceiling; 28 buf[5] = x.pad2[0]; 29 buf[6] = x.pad2[1]; 30 buf[7] = x.pad2[2]; 31 buf[8] = x.owner; 32 __builtin_printf("%s\n", buf); 33 }