目录
一.概念
数组是一个存放相同类型数据的存储空间,那我们已经学习了指针数组,比如︰
int *arr[10];
//数组每个元素是int *
那要把函数的地址存到一个数组中,那这个数组就叫函数指针数组,那函数指针的数组如何定义呢?,看下图:
哪一个才是正确写法呢?
答案是:parr1。parr1先和[]结合,说明parr1是数组,数组的内容是什么呢﹖是int (*)()类型的函数指针。
二.函数数组的用途:转移表
例子:计算器
法一:用switch来编写
代码
#include<stdio.h>
void mean()
{
printf("*********************\n");
printf("***1.add 2.sub****\n");
printf("***3.mul 4.div****\n");
printf("*******0.exit********\n");
printf("*********************\n");
}
int Add(int x,int y)
{
return x+y;
}
int Sub(int x,int y)
{
return x-y;
}
int Mul(int x,int y)
{
return x*y;
}
int Div(int x,int y)
{
return x/y;
}
int main()
{
int input=0;
int x=0,y=0;
do
{
mean();
printf("请选择:>");
scanf("%d",&input);
switch(input)//这里的input就对应menu函数里面的选项
{
case 1:
printf("请输入两个操作数:>");
scanf("%d %d",&am