C语言回调函数解析

回调函数通俗理解函数指针作为某个函数的参数
函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。
简单讲:回调函数是由别人的函数执行时调用你实现的函数。

以下是摘自知乎作者常溪玲的解说
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。

实例
实例中 Get_arry函数定义了三个参数,其中第三个参数是函数的指针,通过该函数来设置数组的值。

实例中我们定义了回调函数 getNextarry,它返回一个随机值,它作为一个函数指针传递给 Get_arry函数。

Get_arry将调用 num 次回调函数,并将回调函数的返回值赋值给数组。

#include “stdio.h”
#include “stdlib.h”

void Get_arry(int *array,int num,int (*getnumber)(void))
{
for (int i = 0; i < num;i++)
{
array[i] = getnumber();
printf(“array[%d]:%d\r\n”,i,array[i]);
}
}
int getNextarry(void )
{
return rand();
}
int main()
{
int arr[20] = {0};
Get_arry(arr,20,getNextarry);
system(“pause”);
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值