社区
C语言
帖子详情
大家来分析这个函数指针?
wzw200
2009-04-30 01:24:02
void (*signal(int signum,void(* handler)(int)))(int);
signal 用法 哈 知道怎么用 不知道最后的(int);
有什么用
谢谢回复!
...全文
144
14
打赏
收藏
大家来分析这个函数指针?
void (*signal(int signum,void(* handler)(int)))(int); signal 用法 哈 知道怎么用 不知道最后的(int); 有什么用 谢谢回复!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hjjdebug
2009-04-30
打赏
举报
回复
[Quote=引用 13 楼 yingkundu 的回复:]
原型:
void (*signal(int signum,void(* handler)(int)))(int);
最外层: void(*signal)(int) 是个函数指针,signal之指向某个函数的指针,此函数接受int型参数,返回为空。
中间: (int signum,void(* handler)(int)) signal所指向的那个函数的参数应该是(int,ff)型。其中ff就是void(* handler)(int)。
最内层: void(* handler)(int) 是个函数指针,handler是指向某个函数的指针。此函数接受一个int型参数,返回为空;
[/Quote]
谢谢提醒!, 我写的太随意了,而且把函数指针写成指针函数等等错误...
wzw200
2009-04-30
打赏
举报
回复
大家说的 我都明白了
谢谢了
yingkundu
2009-04-30
打赏
举报
回复
[Quote=引用 8 楼 hejinjing_tom_com 的回复:]
看起来是三个函数连在一起的定义。
第一层: void(* handler)(int) 是一个指针函数,返回一个指针
第二层:*signal(int signum,void(* handler)(int)) 是一个指针函数,返回一个指针
第三层:void (*signal(int signum,void(* handler)(int)))(int); 是一个函数,一个参数,无返回值
[/Quote]
原型:
void (*signal(int signum,void(* handler)(int)))(int);
最外层: void(*signal)(int) 是个函数指针,signal之指向某个函数的指针,此函数接受int型参数,返回为空。
中间: (int signum,void(* handler)(int)) signal所指向的那个函数的参数应该是(int,ff)型。其中ff就是void(* handler)(int)。
最内层: void(* handler)(int) 是个函数指针,handler是指向某个函数的指针。此函数接受一个int型参数,返回为空;
KevinHo
2009-04-30
打赏
举报
回复
(int)是函数的参数
yyyapple
2009-04-30
打赏
举报
回复
2L 已经很清楚了
wzw200
2009-04-30
打赏
举报
回复
signal是一个函数,有两个参数,第一个是int,第二个是指向参数为int返回值为void的函数的指针,signal的返回值是一个函数指针,一样指向一个参数为int返回值为void的函数
http://publications.gbdirect.co.uk/c_book/chapter9/signal_handling.html
hjjdebug
2009-04-30
打赏
举报
回复
看起来是三个函数连在一起的定义。
第一层: void(* handler)(int) 是一个指针函数,返回一个指针
第二层:*signal(int signum,void(* handler)(int)) 是一个指针函数,返回一个指针
第三层:void (*signal(int signum,void(* handler)(int)))(int); 是一个函数,一个参数,无返回值
wzw200
2009-04-30
打赏
举报
回复
void (*A)(int);
A signal(int signum,void(* handler)(int))
{
return A
}
这样定义有什么好处呢
也就是signal的返回值 又是一个指针函数变量
jame2001
2009-04-30
打赏
举报
回复
參數 1 : int signum
2 : void(* handler)(int)
返迴值 : void (*)(int);
liuxu2559
2009-04-30
打赏
举报
回复
http://topic.csdn.net/t/20041007/15/3431197.html
以前就有人问过,解答应该会让你满意.
Paradin
2009-04-30
打赏
举报
回复
typedef void (*HandlerProc)(int);
typedef void (*ReturnProc)(int);
typedef ReturnProc (*SignalProc)(int, HandlerProc);
最后定义的是一个SignalProc
liuxu2559
2009-04-30
打赏
举报
回复
应该是这个无返回值函数的参数
Paradin
2009-04-30
打赏
举报
回复
这里定义了一个函数,参数是int signum 和 void(*handler)(int), 返回一个函数指针, 参数是最后的int, 返回void
lingyin55
2009-04-30
打赏
举报
回复
最后的(int)是这个函数的参数。
函数指针
的
分析
博客介绍了C语言中
函数指针
的定义,其与数组指针定义有相似之处,给出了
函数指针
重命名定义及两种定义方式,还说明了
函数指针
指向函数,函数名是入口地址。此外,提到了回调函数,因程序执行时才确定调用函数,所以会用到
函数指针
,并将结合代码举例。
C语言
函数指针
调用时加星号与不加星号的
分析
本文详细解析了C语言中
函数指针
的使用方式,包括如何通过
函数指针
调用函数,以及不同情况下
函数指针
的星号使用情况对函数调用的影响。通过实例
分析
和汇编代码对比,揭示了
函数指针
和函数调用背后的原理。
函数指针
分析
本文详细解析了C语言中的指针函数的定义与使用方法,包括如何声明指针函数,以及指针函数与
函数指针
的区别。同时,介绍了如何用
函数指针
作为函数的返回值,并通过例子展示了
函数指针
的复杂声明方式及其简化方法。最后,阐述了函数名与
函数指针
之间的关系,以及如何统一调用函数名与
函数指针
。
模块化编程为何使用
函数指针
分析
(一)(深入
分析
指针的实际应用)
本文深入探讨模块化编程中
函数指针
的应用。介绍了指针使用要点,以结构体为例解读
函数指针
问题,
分析
指针间接访问与全局变量的区别,阐述
函数指针
与模块化编程思想的关系,指出解耦核心是依赖倒置,还提及模块化编程的优势及潜在风险与优化方法。
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章