定义函数指针:
return_type (*func_pointer)(parameter_list);
返回值类型(*函数指针名)(参数列表);
定义返回函数指针的函数:
return_type(*function(func_parameter_list))(parameter_list);
返回值类型(*函数名(函数的参数列表))(返回的函数指针的参数列表);
再看signal函数的原型就好理解了:
原型是 :void (*signal(int sig, void (*func)(int)))(int);
它定义了这样一个函数signal:
signal的返回值是void (*)(int),
signal的参数是int sig和 void(*func)(int)