一个简单的计数器应该包括加减乘除这四个功能。
我们总体的思路是这样的:
1、先写这些运算的函数
2、调用那个要使用的函数
3、设计退出计数器的指令
在选择要使用哪个函数这种分类讨论的步骤我们会想到Switch这个函数。
但是Switch函数所占的篇幅太长,而且每个分支里面除了调用的那个函数不同,别的内容都一样。
这时候我们可以用函数指针数组来提高效率。
函数指针数组
顾名思义是一个可以放函数地址的数组
它的形式是
函数的返回类型 + (* 数组名【元素个数】)+ (函数形参)
为什么这么定义呢
我们定义数组的时候都是在数组元素类型后面加上数组名的。
元素类型就是里面的元素去掉参数名剩下的部分。
不过函数指针数组的数组名要从后面移到括号里面的 * 的后面
举个例子
有3个元素为 int(*p)(int,int) 的函数指针数组应该写成
int (*arr[3])(int,int)
有了函数指针数组,我只要输入相应的下标就能调出我想要的函数啦
函数的指针
函数的指针就是函数名。
比如返回值是int类型,函数的参数也是int类型的函数可以写成
int(*p)(int) p是函数指针变量
如果要通过函数指针变量调用函数,以下两种方法都行
(*p)(数据)
p(数据)
所以一般通过指针调用函数一般直接写名称,不解引用。