其他分享
首页 > 其他分享> > 函数指针数组

函数指针数组

作者:互联网

(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