函数指针数组
作者:互联网
(1) 定义一个指向数组的指针,该数组的类型是长度为5的int数组
eg:
int (* pbr) [5];
(2) 定义一个指向函数的指针
普通函数: float add(float a,float b);------->float (float ,float )
函数的指针:
float (* pfun)(float,float); -------> float (*)(float,float)
typedef struct person per;
typedef float (*PFUN)(float,float); //给函数的指针取了个别名叫PFUN
//定义一个长度为4的函数指针数组,该函数的类型 float (float,float)
float (*pFun_arr[4])(float,float); sizeof(pFun_arr)=16
PFUN pfun_arr[4]={add,sub,mul,div};
程序例子:
//函数的指针
#include<stdio.h>
float add(float a,float b)
{
return a+b;
}
float sub(float a,float b)
{
return a-b;
}
float mul(float a,float b)
{
return a*b;
}
float div(float a,float b)
{
return a/b;
}
int main(void)
{
//定义一个指向函数的指针 并取别名函数的类型 返回值类型 (形式参数列表)
// float (float,float)
typedef float (* PFUN) (float,float); //该函数的指针这个类型取了别名叫PFUN
//定义一长度为4的函数指针数组
PFUN pFun_arr[4]={add,sub,mul,div};
int i=0;
for(i=0;i<4;i++)
{
printf("%.1f ",pFun_arr[i](8,4));
}
printf("\n");
return 0;
}
标签:arr,函数,float,PFUN,数组,函数指针,指针 来源: https://blog.csdn.net/qq_37560166/article/details/97917665