C语言中指针函数、函数指针和回调函数的区别

指针函数:指针函数本质是一个函数,只不过返回值为某一类型的指针(地址值)。

函数返回值必须用同类型的变量来接受,也就是说,指针函数的返回值必须赋值给同类型的指针变量。

指针函数的定义格式:类型名 函数名(函数参数列表);(其中号靠左靠右都行,比如int* sum(int a,int b);或者int *sum(int a,int b)😉

函数指针:函数指针本质是一个指针,只不过这个指针指向一个函数。

常见的函数都有其入口,比如main()函数是整个程序的入口,我们调用的其他函数都有其特定的入口,正如我们可以通过地址找到相应的变量一样,我们也可以通过地址找到相应的函数。而这个存储着函数地址的指针就是函数指针。

我们所说的指针变量通畅指向一个整形、字符型、或者数组等变量,而函数指针指向的是函数。

正如我们可以通过指针访问相应的变量,函数指针也可以像函数一样用于调用函数、传递参数。

函数指针定义格式:类型名 (*函数名)(函数参数列表)

*这里的"函数名"是用括号括起来的

回调函数:函数指针作为某个函数的参数

我们知道,函数指针变量也是一个变量,那么作为变量当然也可以当做参数来使用。

为了理解回调函数,我们先要搞清楚回调函数有什么作用。比如老板、经理、你三个角色。老板通常是规则的指定着,经理按照规则指派相应的人去做事,而你就是任务的具体执行者。

当老板要求经理去做一个事情,那么老板就是主调函数,经理就是回调函数,你按照规则去处理事情就是相应回调函数。你处理的结果会反馈给经理,经理拿着你的结果再反馈给老板。老板就可以使用这个结果去做相关的事情了。

你只需要按照指定的规则去做事,而经理不需要考虑事情是怎么做的,他只需要把相应的事情分配给对应的人去处理即可,然后将获取的结果反馈给老板。如果规则有变,只需要对应的员工知道哪里改变了,而经理不需要关注这些细节

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值