分析signal函数的原型声明void (*signal(int sig,void (*func)(int)))(int)
在ANSI标准中,signal()的声明如下:void(*signal(intsig,void(*func)(int)))(int),此函数是linux中信号处理函数的原型,由于语法晦涩,很荣幸的也出现在了《C陷阱与缺陷中》,理解的难点在于void(*signal(xxx))(int),这里与我们平常看到的void(*p)(int)函数指针的写法有差异,关键点在于要把看成*signal(xxx)整