回调函数

1  回调函数
    作为c语言来说,只有函数的说法。因此不管是回调函数还是函数都是函数,在定义上是没有区别的。
置于在某些系统中,有些函数是你写并被你自己调用,这就是你说的“过程函数”
而另一些俄函数是由你来写但是在某些情况下不光由你来调用还可能被系统调用,这种函数就是“回调函数”。  
    既然在某些情况下,系统也要调用则这种函数在定义上必须符合系统预先定义的一些标准,比如窗口函数是最普遍的回调函数系统规定了这个函数必须有一个LRESULT的返回值,以及它需要的四个参数LRESULT function(hWnd, message, wParam, lParam)。

    回调函数就是为系统提供一个接口,系统就会记录下这个函数的地址,当某个事件发生的时候,系统就可以调用你提供的这个接口干你想干的事情。
比如系统有这样一个功能:
void 注册开水报警器(void (* 我的开水报警器)(void));
我们自己写个函数:
void 我的开水报警器(void)
{
   printf(“水开了!!/n”);
}
然后调用系统提供的接口注册我们的函数
开水注册报警器(我的开水报警器);
这样,指定事件发生的时候,就会调用我们自己写的函数。

    回调函数(callback   function)是一种供系统调用的函数。在设置回调函数时,将你的回调函数的地址作为参数送给系统。当系统调用时(如事件发生,启动功能...),就自动会执行你的回调函数。程序本身不需要执行该函数。常见的回调函数在   directX(OpenGL),Driver   Design中要枚举驱动程序,显示模式等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值