一个简易的计算器程序

一个简单的计数器应该包括加减乘除这四个功能。

我们总体的思路是这样的:

1、先写这些运算的函数

2、调用那个要使用的函数

3、设计退出计数器的指令

在选择要使用哪个函数这种分类讨论的步骤我们会想到Switch这个函数。

但是Switch函数所占的篇幅太长,而且每个分支里面除了调用的那个函数不同,别的内容都一样。

这时候我们可以用函数指针数组来提高效率。

函数指针数组

顾名思义是一个可以放函数地址的数组

它的形式是                 

函数的返回类型     +     (*     数组名【元素个数】)+  (函数形参)

为什么这么定义呢

我们定义数组的时候都是在数组元素类型后面加上数组名的。

元素类型就是里面的元素去掉参数名剩下的部分。

不过函数指针数组的数组名要从后面移到括号里面的  *   的后面

举个例子

有3个元素为    int(*p)(int,int)   的函数指针数组应该写成

int  (*arr[3])(int,int)

有了函数指针数组,我只要输入相应的下标就能调出我想要的函数啦

函数的指针

函数的指针就是函数名。

比如返回值是int类型,函数的参数也是int类型的函数可以写成

int(*p)(int)      p是函数指针变量

如果要通过函数指针变量调用函数,以下两种方法都行

(*p)(数据)

p(数据)

所以一般通过指针调用函数一般直接写名称,不解引用。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值