一个函数申明不懂解决思路
一个函数申明不懂
void (*signal(int _sig, void (*_func)(int)))(int);
这个函数。。。
我懂 void (*_func)(int) 这个是参数类型 是一个 函数指针
但是这个整体就不懂了。
就另 x = signal(int _sig, void (*_func)(int)
那个原式 = void (*x) (int);
这个申明的意思是 signal 返回的 值是 指向void (*x)(int) 函数的指针.对不对
我想可能是这样的。
------解决方案--------------------
函数指针作为函数指针的参数 明白??函数指针套函数指针
------解决方案--------------------
参数是函数指针,返回函数指针,这纯粹是为了自动机服务的,自己要理解的话用typedef简化~
void (*signal(int _sig, void (*_func)(int)))(int);
分解
typedef void (*)(int) X;
就变成
X signal(int _sig,X _func);
清楚了么?
------解决方案--------------------
typedef void (*)(int) ==> X;
typedef void (*X)(int);
X signal(int _sig,X _func);
void (*signal(int _sig, void (*_func)(int)))(int);
这个函数。。。
我懂 void (*_func)(int) 这个是参数类型 是一个 函数指针
但是这个整体就不懂了。
就另 x = signal(int _sig, void (*_func)(int)
那个原式 = void (*x) (int);
这个申明的意思是 signal 返回的 值是 指向void (*x)(int) 函数的指针.对不对
我想可能是这样的。
------解决方案--------------------
函数指针作为函数指针的参数 明白??函数指针套函数指针
------解决方案--------------------
参数是函数指针,返回函数指针,这纯粹是为了自动机服务的,自己要理解的话用typedef简化~
void (*signal(int _sig, void (*_func)(int)))(int);
分解
typedef void (*)(int) X;
就变成
X signal(int _sig,X _func);
清楚了么?
------解决方案--------------------
typedef void (*)(int) ==> X;
typedef void (*X)(int);
X signal(int _sig,X _func);