Nowadays , i was reading the APUE.and i found the function defined as below:
void (*signal(int signo, void (*func)(int)))(int);
i was confused,
Install cdecl for your distribution (if available) or go here
Otherwise, I believe Armen Tsirunyan's answer is correct.