重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include 纤橡察stdio.h
创新互联专业为企业提供三江侗网站建设、三江侗做网站、三江侗网站设计、三江侗网站制作等企业网站建设、网页设计与制作、三江侗企业网站模板建站服务,十余年三江侗做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
#define TYPE int
// 下面是加减乘除 4 个函数
TYPE add(TYPE a, TYPE b){return a+b;}
TYPE sub(TYPE a, TYPE b){return a-b;}
TYPE muti(TYPE a, TYPE b){return a*b;}
TYPE div(TYPE a, TYPE b){return a/b;}
int main(int argc, char *argv[])
{
// 函数指针数组,一共有 4 四个元素,分别是:
// 加减乘除 4 个函数的函数指针
// 你可以自己再添加其他函数,而不毁茄用修改代码。
TYPE (*functions[])(TYPE, TYPE) = {add,sub,muti,div};
// 函数指针数组中的元素个数,这里是 4 个。
unsigned int n = sizeof(functions)/sizeof(functions[0]);
// 要进行运算的数字
TYPE a = 10, b = 5 , result;
int i=0;
for(i=0; in; i++)
{// 调用函数指针数组如绝里面的所有函数。
result = functions[i](a,b);
printf("%d\n", result);
}
return 0;
}
如果是在C#中的话,用委托进行多播,既可罩肢以同时指向多个函数,触发该事件时,同时调用所有函数。事件是该物衡世委托的一个特例。
如果是C语言的话,函数指针可以指向任何签名和函拦搜数指针定义一致的任何函数。签名指的是参数列表和参数类型以及返回参数类型,必须严格一致。
c语言中叫做回旁枝调函数,将函数指针(如max)作者银为函数的参数,函数(如fun)中调用这个参数指向的函数,
调用函数(fun)时看情运嫌敏况而给函数传入不同的函数指针
例如fun(a,b,min),那么fun函数调用执行三个参数就调用min函数
参数的定义要与传入的函数指针相匹配
例如fun(int,x,int y,(*p)(int,int)) 那么调用fun(a,b,min)时,min的参数必须是(int ,int)