1 struct amusement {
2 // declare A as array 7 of int
3 int A[7];
4 // declare B as pointer to int
5 int *B;
6 // declare C as pointer to function (void) returning int
7 int (*C)(void );
8 // declare D as array 7 of array 7 of int
9 int D[7][7];
10 // declare E as array 7 of pointer to int
11 int *E[7];
12 // declare F as array 7 of pointer to function (void) returning int
13 int (*F[7])(void );
14 // declare G as pointer to array 7 of int
15 int (*G)[7];
16 // declare H as pointer to pointer to int
17 int **H;
18 // declare I as pointer to function (void) returning int
19 int (*I)(void );
20 // declare J as pointer to function (void) returning pointer to array 7 of int
21 int (*(*J)(void ))[7];
22 // declare K as pointer to function (void) returning pointer to int
23 int *(*K)(void );
24 // declare L as pointer to function (void) returning pointer to function
25 // (void) returning int
26 int (*(*L)(void ))(void );
27
28 // declare a as array 7 of volatile int
29 volatile int a[7];
30 // declare b as const pointer to volatile int
31 volatile int * const b;
32 // declare c as const pointer to function (void) returning int
33 int (* const c)(void );
34 // declare d as array 7 of array 7 of volatile int
35 volatile int d[7][7];
36 // declare e as array 7 of const pointer to volatile int
37 volatile int * const e[7];
38 // declare f as array 7 of const pointer to function (void) returning int
39 int (* const f[7])(void );
40 // declare g as const pointer to array 7 of volatile int
41 volatile int (* const g)[7];
42 // declare h as const pointer to const pointer to volatile int
43 volatile int * const * const h;
44 // declare i as const pointer to function (void) returning int
45 int (* const i)(void );
46 // declare j as const pointer to function (void) returning pointer to array 7
47 //of volatile int
48 volatile int (*(* const j)(void ))[7];
49 // declare k as const pointer to function (void) returning pointer to
50 //volatile int
51 volatile int *(* const k)(void );
52 // declare l as const pointer to function (void) returning pointer to
53 //function (void) returning int
54 int (*(* const l)(void ))(void );
55 };
56
fun(void)57 struct amusement * fun(void) { return 0; }
58
59 // declare M as function (void) returning int
M(void)60 int M(void ) { return 0; }
61 // declare N as function (void) returning pointer to array 7 of int
__anon6384ab1a0102null62 int (*N(void ))[7] { return 0; }
63 // declare O as function (void) returning pointer to int
64 int *O(void ) { return 0; }
65 // declare P as function (void) returning pointer to function (void) returning
66 //int
P(void)67 int (*P(void ))(void ) { return 0; }
68
69 // declare m as function (void) returning int
m(void)70 int m(void ) { return 0; }
71 // declare n as function (void) returning pointer to array 7 of volatile int
__anon6384ab1a0202null72 volatile int (*n(void ))[7] { return 0; }
73 // declare o as function (void) returning pointer to volatile int
74 volatile int *o(void ) { return 0; }
75 // declare p as function (void) returning pointer to function (void) returning
76 //int
p(void)77 int (*p(void ))(void ) { return 0; }
78
79