C语言-函数指针
2016-01-03 20:54
381 查看
1 函数指针
函数原型:
函数指针:
通过函数指针调用函数:
2 函数指针数组
要声明函数指针数组,需要将数组大小放在函数指针数组名之后。
例子:
3 作为变元的函数指针
将函数指针作为变元来传递,可以根据指针所指向的函数,而调用不同的函数。
函数原型:
int sum(int a, int b);
函数指针:
int (*psum)(int,int)=sum;
通过函数指针调用函数:
int result=psum(20,30);
2 函数指针数组
要声明函数指针数组,需要将数组大小放在函数指针数组名之后。
例子:
#include<stdion.h> int sum(int,int); int product(int,int); int main(void) { int a=10; int b=20; int (*pfun[2])(int,int); pfun[0]=sum; pfun[1]=product; printf("%d \n",pfun[0](a,b)); printf("%d \n",pfun[1](a,b)); return 0; } int sum(int a,int b) { return a+b; } int product(int a,int b) { return a*b; } //输出结果 30 200
3 作为变元的函数指针
将函数指针作为变元来传递,可以根据指针所指向的函数,而调用不同的函数。
#include<stdion.h> int sum(int,int); int product(int,int); int any_fun(int (*pfun)(int,int),int,int); int main(void) { int a=10; int b=20; int result=0; int (*pf[2])(int,int); pf[0]=sum; pf[1]=product; printf("%d \n",any_fun(pf[0],a,b)); printf("%d \n",any_fun(pf[1],a,b)); return 0; } int sum(int a,int b) { return a+b; } int product(int a,int b) { return a*b; } int any_fun(int (*pfun)(int,int),int x,int y) { return pfun(x,y); } //输出结果 30 200
相关文章推荐
- 算法导论学习---红黑树具体解释之插入(C语言实现)
- 验证尼科彻斯定理
- ImmDisableIME在xp下的bug
- C++ 知识点
- C++里面的inl文件
- C++ 中 stack和queue使用方法
- C语言游戏
- c++内存泄漏处理(积累)
- C++ Primer Plus (第六版) 编程练习3.7
- C语言-动态内存分配
- C++程序设计课后习题及解答(第七章)
- C++程序设计课后习题及解答(第八章)
- c++20道面试题
- C++程序设计课后习题及解答(第四章)
- C++程序设计课后习题及解答(第二章)
- Write .log file
- (转)C语言union(联合体 共用体)
- c++ 连接mysql类
- C语言:分别输入两段字符串,并找出其中的最大公共字符串
- C++程序设计课后习题及解答(第一章)