函数数组指针变量,指的是存放函数地址的数组指针变量。
eg:int (*parr[ ])(int ,int )={getmax,getmin,getsum};
对比函数指针 eg: int (*p)(int ,int );
对于函数类指针,*号前需要加()因为()优先级大于*优先级,会优先计算形参使意义改变。
#include <stdio.h>
int getmax(int date1,int date2)
{
return date1>date2?date1:date2;
}
int getmin(int date1,int date2)
{
return date1>date2?date2:date1;
}
int getsum(int date1,int date2)
{
return (date1+date2);
}
int main()
{
int date1=100;
int date2=500;
int cmd=0;
int ret=0;
int i=0;
int (*pfunc[3])(int ,int )={getmax,getmin,getsum}; //1.定义函数数组指针
for(i=0;i<3;i++)
{
ret=(*pfunc[i])(date1,date2);
printf("a=%d\n",ret);
}
return 0;
}