int main()
{
void (*signal(int, void(*)(int)))(int);
return 0;
}
这段代码我们可以分开解读我们先把目标锁定在signal上面
signal(int, void(*)(int))
//signal是一个函数名,调用的参数一个是int类型,另一个参数是函数指针类型
然后我们把signal去掉
void (*)(int)
//这是一个函数指针类型
我们知道函数指针由指针变量、参数、返回类型组成、
所以我们可以把void (signal(int , void()(int)))(int)这样理解
int main()
{
void (*signal(int, void(*)(int)))(int);
//signal函数调用一个int类型和一个函数指针类型void(*)(int),void(*)(int)
//该函数指针参数是int类型,返回值是void,signal(int, void(*)(int))函数
//返回类型是一个函数指针,该函数指针指向的函数,参数是int,返回值是void
return 0;
}