前天看APUE,看到signal的声明竟然是 void (*signal(int,void(*)(int)))(int); 初看下面,还真是看不出这是啥意思.道行太浅,仅仅能看到这样的函数指针 void *(*func)(int,void(*)(int)); 书中说先typedef下面就能看清楚这个指针 typedef void Signfunc(int); Signfunc *signal(int,Sigfunc *); 这样写的确变清晰了.但是搞不懂为啥应该是这么分析,为啥它不写成 (voi…