C语言:函数指针数组和计算器(加减乘除)的实现 目录 一.概念 二.函数数组的用途:转移表 例子:计算器 法一:用switch来编写 代码 运行结果 对法一的改进(利用函数指针) 代码 法一的缺点 法二(利用函数指针数组) 代码 运行结果 一.概念 数组是一个存放相同类型数据的存储空间,那我们已经学习了指针数组,比如︰ int *arr[10]; //数组每个素是int * 那要把函数的地址存到一个数组中,那这个数组就叫函数指针数组,那函数指针的数组如何定义呢?,看下图:
哪一个才是正确写法呢? 答案是:parr1。parr1先和[]结合,说明parr1是数组,数组的内容是什么呢﹖是int (*)()类型的函数指针。
二.函数数组的用途:转移表 例子:计算器 法一:用switch来编写 代码 运行结果
这里我们发现每一个case后面都有段相似的代码,那么我们可以在这一部分加以改进 对法一的改进(利用函数指针) 代码 其运行结果也是一样的 法一的缺点 上面只有加减乘除四种功能,如果我们想继续增加功能的话,那我们就需要继续增加case的数目,一旦过多就很容易导致代码复杂,所以当功能比较多时我们就需要另一种更高效的方法。 法二(利用函数指针数组) 代码 运行结果
用函数指针数组去存函数,让函数成为数组中的素,然后就像调用数组中的素那样调用函数就可以了,这要那个就解决了当需要添加功能而增加case的问题,当我们需要增加功能时可以:如果需要增加就只需要再写一个函数,然后main函数再稍微改动一下就可以了 如图
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/52809.html