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  }