回调函数的设计
函数指针的两个常见用法是,一是做为结构成员,做面向对向的封装,另一个就是回调函数的设计。
所谓回调函数,也就是把函数传递给另一个函数,另一个函数在某一种调用这个函数,可以想见,另一个函数对应的形参就是一个函数指针:
[code]int add(int a,int b)
{
return a+b;
}
int do_it(int (*ADD)(int,int),int a,int b)
{
printf("%d\n",ADD(a,b));
return 0;
}
int main(int argc,char **argv)
{
int a=3,b=4;
do_it(add,a,b);
}[/code]
这个例子,ADD是一个函数指针,它做形参使用,为时候为了使用typedef,简单代码:
[code]typedef int(*ADD)(int,int);
int add(int a,int b)
{
return a+b;
}
int do_it(ADD func,int a,int b)
{
printf("%d\n",func(a,b));
return 0;
}
int main(int argc,char **argv)
{
int a=3,b=4;
do_it(add,a,b);
} [/code]
阅读(2006) | 评论(0) | 转发(0) |