1 #include <stdio.h> 2 3 func1()4static int func1() { return 1; } func2()5static int func2() { return 2; } func3()6static int func3() { return 3; } func6()7static int func6() { return func3()+func2()+func1(); } 8 9 int main()10main() { 11 /* Check with more than one storage unit, and whether 12 * mixing with ordinary char at end works and still 13 * aligns properly 14 * 15 * Mix with variable initializers too 16 */ 17 struct foo { 18 char x; /* align me */ 19 char gnu; 20 unsigned d; 21 } fa /*[]*/ = { 22 func1(), 5, 6 23 }; 24 int i; 25 26 27 28 printf("%d\n", (int)sizeof(struct foo)); 29 30 printf("%u\n", fa/*[0]*/.d); 31 return 0; 32 } 33 34