C语言——函数指针——函数指针数组 (详解)
函数指针数组 函数指针数组的作用 函数指针数组是一个数组,其中的每个素都是一个函数指针。函数指针是指向函数的指针变量,可以用来调用相应的函数。函数指针数组的作用是可以根据需要动态地选择并调用不同的函数。 函数指针数组的使用场景有很多,以下是一些常见的应用: 回调函数:函数指针数组可以用于实现回调机制,即在某个事件发生时,根据不同的情况选择并调用相应的回调函数。状态机:函数指针数组可以用于实现状态机,即根据当前状态选择并调用相应的处理函数。命令分发:函数指针数组可以用于实现命令分发,即根据接收到的命令选择并调用相应的处理函数。策略模式:函数指针数组可以用于实现策略模式,即根据不同的策略选择并调用相应的处理函数。 总之,函数指针数组提供了一种灵活的方式来选择并调用不同的函数,可以根据具体需求动态地改变函数的行为。 —————————————————————————————————————————— 函数指针数组的语法格式 函数指针数组是一个数组,其中的素都是函数指针。函数指针是指向函数的指针变量,可以用来调用相应的函数。函数指针数组的语法格式如下: 其中,返回值类型是函数的返回值类型,指针数组名是函数指针数组的名称,数组大小是指针数组中素的个数,参数列表是函数的参数类型和个数。 举个例子, 如果我们有一个函数指针数组,其中包含两个素,个素都指向一个无返回值、无参数的函数,可以这样声明: 使用函数指针数组时,可以通过索引来访问数组中的素,并通过函数指针调用相应的函数。 —————————————————————————————————————————— 函数指针数组语法格式的讲解 举例来说,我们可以定义一个函数指针数组,其中的素指向不同的排序算法函数:
—————————————————————————————————————————————————————————————————————————————————————— 函数指针数组的实际使用(转移表(计算器)) 这里会简单提一嘴,在指针4篇章还会进行详细的解释,指针4篇章会详细解释qsort函数的使用和构建模拟 计算器的模拟版本1 运算函数
主函数
计算器形成
但是之前的代码是有问题的,冗余性太强 ——————————————————————————————————————————— 计算器的模拟版本2(函数指针数组的使用)(回调函数)
简化
冗余
老的代码的问题就是 冗余 写死 不能完成不同的任务
函数调用的时候只需要知道地址就可以 calc计算器
这里也称之为转移表 —————————————————————————————————————————— 版本3(函数指针数组的使用) 计算机代码的简化 创建函数指针的数组
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 计算器代码总结
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87720.html