首页 > 编程语言 > 详细

关于c语言声明 void (*signal(int sig, void(*func)(int)))(int)的理解

时间:2015-03-12 11:32:47      阅读:481      评论:0      收藏:0      [点我收藏+]

刚开始看到这个 很蛋疼

还是慢慢理解

首先

void(*func)(int) 是一个指针 指向一个 返回值为void 参数为int的函数

是一个函数指针

具体理解http://zhidao.baidu.com/link?url=5GpEN7wPUhDlk_m-3drRHV9bGxv53tj818vtd1GIsyaVfyY1mdsFZfP6_2M_DNAfTQrh0qxMo_wXhK1CjIEPJK

 

然后看外围的函数声明 是不是和里面有点类似

 

对的 里面函数 简写为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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!