6.
char *abc(int x);
put in all the parentheses:
char *(abc(int x));
- abc is being declared (not x),
- it is a function that takes an integer and returns a ...
- pointer to something,
- a character.
abc is being declared as a function that takes an integer and returns a
string (or pointer to a character).
Because we can see a semicolon after the declaration, we know it is only
a prototype. The actual definition of the function will appear
somewhere else. Perhaps later in the program, perhaps in another file.
A prototype is a promise that such a function will be defined at some point.
It also lets us see in advance what the declaration of the function will be like,
so we know how to use it correctly.