I found this declaration in the APUE book in the chapter on signals:
void (*signal(int signo, void (*func)(int)))(int);
I don't fully understand the syntax. The declaration of (*func) is syntactically what I expect for a function parameter/pointer. I don't understand the syntax where "signal" is declared, and the trailing (int). I was wondering if someone could clarify this. -Thanks