C语言回调函数怎么用
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要为大家展示了"C语言回调函数怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C语言回调函数怎么用"这篇文章吧。一、什么是回调函数因为在程序
千家信息网最后更新 2024年09月22日C语言回调函数怎么用
这篇文章主要为大家展示了"C语言回调函数怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C语言回调函数怎么用"这篇文章吧。
一、什么是回调函数
因为在程序中,我们有很多的库函数,我们也有很多的上层函数,为了增加程序的灵活性,我们就将一些函数指针作为参数传递到函数里面去。
说的粗糙一点,就是将一个函数作为另一个函数的函数参数。
调用回调函数我们需要一个中间函数进行过渡。
这个中间函数的参数是一个函数指针。
二、简单的回调函数
我们来写一个简单的例子,帮助我们理解:
#include/*回调函数1*/void callBack1(void){ printf("this is callback1\n");}/*回调函数2*/void callBack2(void){ printf("this is callback2\n");}/*中间函数*//*参数是一个函数指针*/void calc(void (*func)()){ func();}int main(){ calc(callBack1); printf("************\n"); calc(callBack2); return 0;}
分析一下这个简单的回调函数的运用。
函数从main函数开始运行,我们将回调函数(callBack)作为一个参数传递到中间函数(calc)里面,中间函数通过函数指针的方式来接受,通过传入不同的回调函数((callBack1)、(callBack2))来执行不同的结果。
三、带参数的回调函数
上面的程序简单的说明了不带参数的回调函数,那么带参数的回调函数我们也可以依葫芦画瓢。
#include/*回调函数1*/int callBack1(int a,int b){ printf("this multiplication:\n"); return a * b;}/*回调函数2*/int callBack2(int a, int b){ printf("this addition:\n"); return a + b;}/*中间函数*//*参数是一个函数指针*/int calc(int a,int b,int (*func)()){ func();}int main(){ int p; int q; p = calc(20,20, callBack1); printf("%d\n",p); printf("*********\n"); q = calc(20, 20, callBack2); printf("%d\n", q); return 0;}
在工作中我们的回调函数肯定不会这么简单,但是回调函数的作用是不去改变底层的程序,通过获得底层的数据来得到不同的数据。这样我们的上层会有很多变化,但是我们的底层程序不会动。
以上是"C语言回调函数怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
函数
参数
指针
程序
语言
不同
内容
底层
篇文章
帮助
上层
数据
学习
粗糙
依葫芦画瓢
作用
例子
就是
方式
明了
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发积分
对软件开发的评语
重庆网络安全工程联系人
奇迹mu+数据库+分析
网络安全宣传动画四川
数据库表里添加一条数据
adis 数据库
数据库查询题emp
互联网平台开发的软件开发
软件开发输入评审
软件开发和测试工作怎么样
软件开发如何做项目管理
宁波第三届网络安全
网络技术类专业是艺术类专业吗
昆明天度网络技术有限公司
计算机网络技术面试都有什么
软件开发主题
数据库技术李欣
打电话怎么显示服务器出错
从事网络技术的专业有哪些
seer数据库获取治疗信息
怎么把用户信息导入数据库
网络安全的话四十
jsp查询数据库乱码
网络安全2018培训
湖北网络卫星授时服务器云主机
打电话怎么显示服务器出错
青岛服务器机柜导轨安装图
我国颁布的网络安全法律
网络安全设备日志的作用