首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个函数申明不懂解决思路

2012-08-01 
一个函数申明不懂void (*signal(int _sig, void (*_func)(int)))(int)这个函数。。。我懂 void (*_func)(int

一个函数申明不懂
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);

热点排行