逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
函数指针:
函数名就是函数操作代码在内存中的起始地址,就像数组名是数组在内存中的起始地址。
所以使用函数指针时,直接传入函数名就什么了。函数指针也是C中实现多态的一种方法。
 
int x2(int x) { return x * x;}
int x3(int x) {return x * x * x;}
void func(int (*pf)(int), int x) { cout << pf(x) << endl;}
== void func(int (*pf)(int), int x) { cout << (*pf)(x) << endl;}
func(x2, 4); // 16
func(x3, 4); // 64
 
void *func(int* (*pf)(int*, const int**, float, char * const), double *); // 呵呵,头晕吧
 
void (*pf[10])(int); // 表示pf是10个函数指针的数组
函数指针的一个用法是建立一个菜单驱动程序:
用户从菜单中选择一个选项,每个选项由不同的函数提供服务,每个函数的指针存放在函数指针数组中。用户选项作为数组下标,数组中的指针用于调用这个函数。
void (*pf[3])(int) = {func1, func2, func3};
posted on 2010-12-17 17:27 逛奔的蜗牛 阅读(323) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理