人生的意义,在人生之外,就如同工作的意义,在工作之外。 Cherish the people you meet everyday

回调函数实例

上一篇 / 下一篇  2010-07-29 12:22:35 / 个人分类:C++

51Testing软件测试网!OD1~7@N(hT9yf+aJ

什么是回调函数
d vN ?,Y!m;F0
.P'R0n.H0v+I0
  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
,E rDs_YP |051Testing软件测试网 w"l%Y J3p
  为什么要使用回调函数?
{#Wd-A8ni0
#V x?f `C]0  因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。51Testing软件测试网4{@a.pAw"xF

3n4p gt:O,XvzkA0简单的说,就是程序A实现一个函数,这个函数的指针作为参数传给程序B,由B来调用这个函数,这时候,就说A的那个函数是回调函数callback function.

#vXP*r[1d?|0

%eM@Z.c?H0#include <stdio.h>51Testing软件测试网R%`{6WP.T-s#x
#include <stdlib.h>51Testing软件测试网5m-r`q&cs
#include <string.h>51Testing软件测试网Q Xy+Zt$J

51Testing软件测试网Yg px!bB\7K

 

*w/{+L%A[ ~K:W.h0

#zEK"M XB0int callback()
;Vs0B*{ z:f"g nh0{
-L-|^ B?j0 printf("This is from callback function");
X,sO-v z*A.M$@5Ia0 return 0;
] g| D+V*Z0}

;n'ik*{6J V[G^051Testing软件测试网'CP8]o-BF/me%@w gU

int callback2(int b)51Testing软件测试网Sp ~0D+D t @'u
{
*eXdfXWY0 printf("This is from callback function,%d",b);51Testing软件测试网)b#i]"_ m
 return 0;51Testing软件测试网7G9?5\1S;_\^9W){L
}

@e4p c&qR"os051Testing软件测试网T P\/k3V){

int otherFun(int (*p)())51Testing软件测试网%\&SkVkk
{51Testing软件测试网Hw'Vse?]
 (*p)();
#v+p7w8d2{n0 return 0;51Testing软件测试网KE _Htc.R%oBk
}

$XU"ty&_8bCn0

%meM5oEU"T V }0int otherFun2(int (*p)(int),int b)
-Z uv?| K ]0{51Testing软件测试网 J.xk lGu6Vg5\
 (*p)(b);
.GR:cM.I}yQ0 return 0;
;U u%f#t9x*q k0}51Testing软件测试网*i C%i5O N0\yD

+L*P$v:Kd3_2X0 

Ea4X]yzM0

8O(ERM8O#j0int main()
!N JQ'lf%K4d"ju0{51Testing软件测试网c7C7_ BR2n

51Testing软件测试网}9eg1`h0S#X6o

 otherFun(callback);
F#tv%a[3p0 otherFun2(callback2,4);51Testing软件测试网.q)J#hgd-G

RR^v(K`J+v-h0}51Testing软件测试网 o5V~W!sp

51Testing软件测试网Q)Pb8rym'f1D7p^

 

[6m[B0gn6n&I0

TAG: callback 回调函数

 

评分:0

我来说两句

allenzgw

allenzgw

美国, 佛罗里达 Enjoy sand, sunshine, sailing.

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 163528
  • 日志数: 119
  • 图片数: 1
  • 书签数: 2
  • 建立时间: 2007-01-28
  • 更新时间: 2016-06-03

RSS订阅

Open Toolbar