函数指针
先解释void (*func)(int):
void func()->void func(int)->void *func(int)->void (*func)(int)
上面的图示能看明白吧?func是一个函数指针,它的返回类型为空,它所指向的函数接收一个int型的参数。
若是写成void *func(int)则变成了:func是一个函数,它的返回类型是空指针,它接受一个int型参数。
所以void (*signal(int sinno,void(*func)(int)))(int)意思是:
signal是一个函数指针,它的返回类型是void,它接收一个int类型的参数;
不过这个指针是另一个函数的返回值,它接收2个参数,第一个是int,第二个已经解释过了。