指向函数的指针数组
来源:互联网 发布:李敖小s知乎 编辑:程序博客网 时间:2024/06/05 03:17
c里面的指针很重要,但学了c这么久了,都不知道指向函数的指针数组有什么用,其实和用函数指针差不多。
我们可以创建一个有趣的结构式指向函数的指针数组。为了选择一个函数,只需要使用数组的下标,然后间接引用这个指针。这种方式支持表格式驱动码(table-driven code)的概念;可以根据状态变量(或状态变量的组合值)去选择被执行函数,而不用条件语句或case语句。这种设计方式对于要从表中添加或删除函数(或者想动态的创建或改变表)十分有用。
#include<stdio.h>void fun1();void fun2();void fun3();void main(){void (*fun[3])()={fun1,fun2,fun3};//指向函数的指针数组的声明int a;printf ("请输入一个1,2,或者3.输入0退出。\n");scanf ("%d",&a);while ( a ) { if( a==1 || a==2 || a==3 ) { fun[a-1]();//通过函数指针调用数组中的函数 printf("请输入一个1,2,3.输入0退出.\n"); scanf("%d",&a); } else { printf("请输入一个合法的数(1-3).0退出。\n"); } }}void fun1(){printf("函数f1被调用!.\n");}void fun2(){printf("函数f2被调用!.\n");}void fun3(){printf("函数f3被调用!.\n");}
其实C++中的虚函数也是这样实现的。
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向函数的指针数组
- 指向数组的指针,指向函数的指针
- 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 指针数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针
- 学习:“指针数组”、“ 数组指针 ”、“函数指针”、“ 函数指针数组”、“指向函数指针数组的指针”
- 理解指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 指针数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针
- 数组指针、 指针数组、函数指针、函数指针数组和指向函数指针数组的指针
- 关于指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 辨析指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 使用android backup service将app data同步到云
- POJ 1182 食物链
- 将VM备份到别一台xenserver主机
- 基于JQuery的7款选项卡(Tabs)实例
- MAC和IP相同两台电脑同时可以上网
- 指向函数的指针数组
- 如何使用java synchronized进行线程同步
- 关于Sleep()函数不准确和随机数的问题
- hive文件存储格式
- Silverlight开发常见的一个小问题:2103错误
- dom4j解析XML
- python json
- Linux设备驱动程序设计(三)----Linux的特殊字符设备:混杂设备,依旧让LED闪烁起来
- PCB注意事项