What does the following declaration mean?
char *(*g(char a, int b))
So far, I know that,
char *(*g)(char, int)
declares a pointer to a function that returns a char *, and I can successfully assign a value to it, however I can't do the same with the first. Any hints?