I'd like to know what is the difference between these two (seemingly correct) ways of passing a function to another function:
void fun(int p(int x));
void fun(int (*p)(int x));
Also, I know that in the second case we're passing a function pointer, but is the first approach also a function pointer (but without the star)?