The declaration of this function:
int test(double abc(double)) {
is equivalent to:
int test(double (*abc)(double)) {
The parameter abc is a parameter of the type of the function pointer ( double (*)(double)) ).
For a standard C reference:
(C99, 6.7.5.3p8) "The declaration of a parameter as a" returning function type "shall be adjusted to" a pointer to the return type of the function ", as in 6.3.2.1."
source share