黑马程序员技术交流社区
标题:
c语言函数指针问题
[打印本页]
作者:
四季列车
时间:
2014-3-13 22:46
标题:
c语言函数指针问题
#include <stdio.h>
typedef int(*Count)(int,int);
int sum(int a ,int b){
return a+b;
}
int min(int a ,int b){
return a-b;
}
int main(){
Count count1=sum;
Count count2=min;
printf("%d\n",count1(2,3));
printf("%d\n",count2(2,3));
return 0;
}
上面这段代码怎么解释???
作者:
shenlongzs
时间:
2014-3-14 01:09
typedef int(*Count)(int,int);
定义了一个返回类型为int,参数为两个int的函数指针;
比如有多个同类型的函数(返回类型为int,参数为两个int),然后根据不同条件将指针指向某具体函数,实现某具体处理。这样做的好处是可以统一处理(执行)一类操作。
如:Count count1=sum;
Count count2=min;
作者:
脸皮猴
时间:
2014-3-14 10:34
#include <stdio.h>
typedef int(*Count)(int,int);//定义一个函数指针变量类型 Count 形参是两个int型数据 返回一个int型数据
int sum(int a ,int b){ //定义一个求加法的函数 返回和值
return a+b;
}
int min(int a ,int b){ //定义一个求减法的函数 返回差值
return a-b;
}
int main(){
Count count1=sum; // 定义一个函数指针 count1 ,并且 count1指向sum这个函数
Count count2=min; //定义一个函数指针 count2 ,并且 count2指向min这个函数
printf("%d\n",count1(2,3)); //求2+3的和值 并打印
printf("%d\n",count2(2,3)); //求2-3的差值 并打印
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2