函数指针 一
来源:互联网 发布:淘宝互刷收藏软件 编辑:程序博客网 时间:2024/06/05 04:53
所谓函数指针,它是一种指针。通过他可以像函数一样调用和传递参数。
函数指针经常和指针函数所混淆,
如:1) int *pf(); 2) int (*pf)();
1)指的是返回一个int型指针的函数,pf为一个函数名
2)指的是返回一个int型的函数,pf为函数指针。
区别主要在于()的优先级比* 高,所以int *pf() 实际上是 int * (pf());
通常函数指针可以这么申明:
returnType (*pf)(arg1,arg2,...);
pf 为一个指针,指向函数返回类型为 returnTpye,参数为arg1,arg2...的函数。
void (*pr) ();void func(){...;} pf = func; (*pf)();
这样 (*pf)() 就执行了func函数。
那如果我们要定义一个类型和pf一样的函数的指针的时候怎么办呢?
这里我们可以使用一下typedef 这个关键字
typedef void(*pf)();pf pf_new;//这里我们就申明了一个函数指针,类型和pf一样。
那么现在如果我们知道一个函数的地址,假设值为0;这个函数类型和pf所指向的函数类型一样,那么我们如何调用这个函数呢?
我们知道如果申明一个变量通常是 returnType var;
如果我们要申明一个类型和var 一样的变量,那么我们要做的仅仅是把申明中的变量名和申明末尾的分号去掉便可,那么:
void(*)()0// 就将a转换为和pf一样的类型,接下来(void(*)()0)();//调用地址在0的函数。当然这里用typedef 会跟简单明了。
函数指针真的很有用啊。
- 指向函数指针(一)
- 函数指针 一
- 函数指针学习一
- 函数指针例程一
- 一、C++ 函数指针
- 函数指针实战一
- 函数指针的应用(一)
- 函数指针一例分析
- (一) 用函数指针变量调用函数
- 关于指针函数和函数指针的问题(一)
- 函数指针与指针函数详解文章一
- C/C++编程(一)--函数指针与指针函数
- 函数指针的使用(一)
- 回调函数:函数指针(一)
- 指向函数的指针(一)
- 指向函数的指针(一)
- 恼人的函数指针(一)
- 神奇的C语言一:函数指针
- 动态代理的实现3-实现aop功能的封装和配置
- ISPA模板
- 关于利用Tcp库来实现文件传输
- WebApplication和WebSite和SLN文件
- jquery ajaxfrom表单提交代码
- 函数指针 一
- 说说循环缓冲区(Ring Buffer)
- 最长回文子串
- Test
- 【Java学习之三】用JNI实现Java和C语言的数据传递
- Qt开发日记2
- POI处理office文档(doc、docx、xls、xlsx、ppt、pptx)
- 地图服务的选择
- Dinic模板