f: a function with parameters signed int signed int returning signed int g: a function with parameters signed int signed int signed int returning signed int h: a static function with parameters a: a signed int b: a signed int c: a pointer to signed int d: a open array of char returning signed int signed int signed int signed int struct inner with members f2: a signed int f3: a signed int struct outer with members f1: a signed int i: a instance of struct inner f4: a double s: a instance of struct outer sp: a pointer to instance of struct outer t1: a const volatile tuple of types signed int signed int t2: a static const tuple of types signed int const signed int t3: a static const tuple of types signed int const signed int printf: a function with parameters fmt: a pointer to char and a variable number of other arguments returning rc: a signed int printf: a function with parameters fmt: a pointer to char and a variable number of other arguments returning signed int f1: a function with parameters w: a signed int returning x: a short signed int y: a unsigned int with body g1: a function returning r: a tuple of types signed int char long signed int signed int with body Declaration of x: a short signed int Declaration of p: a short signed int Declaration of y: a unsigned int Declaration of z: a tuple of types signed int signed int main: a function with parameters argc: a signed int argv: a pointer to pointer to char returning rc: a signed int with body Declaration of a: a signed int Declaration of b: a signed int Declaration of c: a signed int Declaration of d: a signed int Declaration of t: a instance of struct outer