概述
本程序定义了一个process的函数,其参数有三个,两个整型参数,一个函数指针参数。函数指针是一种指向函数的指针,可以用来调用相关的函数。当函数指针不是作为参数的时候,必须要进行初始化给他赋值,例如int (*p)(int,int); *p=max或者p=max都是可以的,调用函数时直接写(*p)(a,b)或p(a,b)。
#include "../common.h"
typedef int (*pFunc) (const int a, const int b); //定义一个函数指针类型pFunc
int processA(int a, int b, int (*func)(int,int)) //直接定义函数指针类型的变量
{
return (*func)(a,b);
}
int processB(int a, int b, pFunc c) //创建定义好的函数指针变量
{
return c(a,b);
}
int max(const int a, const int b)
{
return a > b ? a:b;
}
int min(const int a, const int b)
{
return a < b ? a:b;
}
int add(const int a, const int b)
{
return a + b;
}
int main(int argc, char *argv[])
{
int a = 10, b = 12;
printf("MAX:%d %dn",processA(a,b,max),processB(a,b,max)); //通过函数指针调用max函数
printf("MIM:%d %dn",processA(a,b,min),processB(a,b,min)); //通过函数指针调用min函数
printf("ADD:%d %dn",processA(a,b,add),processB(a,b,add)); //通过函数指针调用add函数
return 0;
}
最后
以上就是文艺口红为你收集整理的用指向函数的指针作函数参数的全部内容,希望文章能够帮你解决用指向函数的指针作函数参数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复