signal函数被声明在<signal.h>中:
void(*signal(int sig, void(*func)(int)))(int);
采用折返法分析其声明:
找到最具体的声明符:"signal";
声明符右边"()"优先级大于"*"所以signal是函数并且返回值是指针类型;
由上一步,声明被简化成:void(*)(int);表明signal返回值是一个指向函数的指针,并且这个函数参数是int类型且没有返回值;
查看signal的参数,第一个是int类型,第二个是和signal返回值一样的函数指针:参数是int,没有返回值;