A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zzzzly 中级黑马   /  2016-5-11 00:31  /  961 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

函数指针使用

1、利用函数指针调用函数  
调用函数的一般形式为:  (*指针变量名) (实参表)  

定义一个函数指针
int (*fun)(int *p,int len);
fun = getMax; //fun只能赋值一个函数名,并且函数有两个形参(int型指针,int型整数)
int max = fun(a,5);

从上述程序可以看出用,函数指针变量形式调用函数的步骤如下:  
1)先定义函数指针变量,如 int (*fun)(int *p,int len); 定义 fun为函数指针变量。  

2)把被调函数的入口地址(函数名)赋予该函数指针变量,如程序中 fun=getMax;  

3)用函数指针变量形式调用函数,如程序 int max=fun(a,5);  

使用函数指针变量还应注意以下两点:  
1)函数指针变量不能进行算术运算,这是与数组指针变量不同的。数组指针变量加减一个整数可 使指针移动指向后面或前面的数组元素,而函数指针的移动是毫无意义的。  

2)函数调用中"(*指针变量名)"的两边的括号不可少,其中的*不应该理解为求值运算,在此处它 只是一种表示符号  

1 个回复

倒序浏览
函数指针一般用于回调中,另外一般我们使用typedef来定义函数指针类型,再使用这个类型去定义函数指针变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马