void (*signal(int,void(*)(int)))(int); unix信号函数的声明?解决办法

void (*signal(int,void(*)(int)))(int); unix信号函数的声明?
void (*signal(int,void(*)(int)))(int); unix信号函数的声明。
各位帮我详细解释下它这样组合是什么意思?详细点好吗?

------解决方案--------------------
探讨
还有,这个函数究竟想做什么?