c语言 函数指针
来源:互联网 发布:南达科他级战列舰数据 编辑:程序博客网 时间:2024/06/09 17:16
定义原型:
返回类型 (*指针名)参数列表
例如:
#include <stdio.h>//以下是函数指针的两种声明办法,第一种是在形参列表中声明,第二种是在外部声明int ff(int(*p)(int,int),int a,int b)//原始写法,在函数ff的参数列表中定义函数指针p,阅读不便{ return p(a,b);}//改进写法 易懂typedef int(*Pfunc)(int,int);//定义函数指针类型Pfunc,同时声明了原型 返回类型int 形参列表为两个intint f(Pfunc p,int a,int b) //函数f的参数列表, 包含一个Pfunc类型的函数指针p,两个int{ return p(a,b);}int add(int a,int b)//加法函数{ printf("加法函数add被调用:"); return a+b;}int sub(int a,int b)//减法函数{ printf("减法函数sub被调用:"); return a-b;}void main(){ //函数指针初步应用 int a=1,b=2; printf(" %d+%d=%d\n",a,b,f(add,a,b)); printf(" %d-%d=%d\n",a,b,f(sub,a,b)); printf(" %d+%d=%d\n",a,b,ff(add,a,b)); printf(" %d-%d=%d\n",a,b,ff(sub,a,b));}
运行结果:
加法函数add被调用: 1+2=3
减法函数sub被调用: 1-2=-1
加法函数add被调用: 1+2=3
减法函数sub被调用: 1-2=-1
说明两种定义方式是等效的
参考:https://zhidao.baidu.com/question/363328873.html
阅读全文
0 0
- c语言函数指针
- C语言函数指针
- c语言 函数指针
- C语言函数指针
- C语言 ---- 指针函数
- C语言函数指针
- C语言函数指针
- C语言函数指针
- c语言函数指针
- C语言函数指针
- C语言函数指针
- c语言函数指针
- C语言--函数指针
- C语言函数指针
- C语言函数指针
- C语言-函数指针
- C语言----函数指针
- c语言函数指针
- Linux设备驱动调试之printk
- 一个快速实现搜索智能提示的方法
- AVL树之插入与判断
- 2017GDOI
- 1550 [CF1000]Shell Game
- c语言 函数指针
- 各种return的情况下try catch finally的执行顺序
- 云计算概览
- 熵编码(entropy encoder)
- Revit开发之管段
- db_lmdb.hpp:15] Check failed: mdb_status
- spring中beanfactory和applicationcontext创建bean的区别
- mybatis中#{}和${}的区别与用法
- java多线程(十) 之 构建高效且可伸缩的结果缓存