刚开始看到这个 很蛋疼
还是慢慢理解
首先
void(*func)(int) 是一个指针 指向一个 返回值为void 参数为int的函数
是一个函数指针
然后看外围的函数声明 是不是和里面有点类似
对的 里面函数 简写为void (*signal(xxx)) (int)
和里面的函数声明一样 是一个无返回值 有一个int参数 返回的是一个函数指针 函数的类型为上面的类型所示
参考
中间部分 :
signal( int sig, void (*func)(int))
signal函数有2个参数,第一个是int,第二个是无返回值,带一个int参数的函数指针
外围:
void (*signal(xxx)) (int)
signal函数返回的是一个函数指针,无返回值,有一个int参数
简化:
typedef void Sigfunc(int)
Sigfunc就代表的就是一个 返回值是一个无返回值,有一个int参数的函数。
最后就成了这样
Sigfunc *signal(int, Sigfunc*)
中国开源
http://www.oschina.net/question/171512_63027#tags_nav
左右规则
http://wenku.baidu.com/view/3891df0e844769eae009ed40.html
关于c语言声明 void (*signal(int sig, void(*func)(int)))(int)的理解
原文地址:http://blog.csdn.net/u010416101/article/details/44218767