1
2struct Foo {
3  union {
4    int zero;
5    unsigned int one;
6  } num1;
7  struct X {
8      int rock;
9      unsigned int rock2;
10  };
11  union {
12    int pebble;
13    X x;
14    union {
15      int qux;
16      unsigned int mux;
17    };
18    unsigned int boulder;
19  };
20  union {
21    int paper;
22    unsigned int cloth;
23  };
24  union {
25    int two;
26    unsigned int three;
27  } num2;
28};
29
30union Bar {
31  int x;
32  unsigned int y;
33};
34
35
36int main()
37{
38  Foo foo = {0, 0};
39
40  foo.paper = 33;
41  foo.pebble = 44;
42  foo.mux = 55;
43
44  Bar bar = {0};
45
46  union {
47    int z;
48    unsigned int w;
49  }; w = 0;
50
51  bar.x = 33;
52
53  w = 45;
54
55  int j = 0;
56}
57