C-表驱动-代码

来源:互联网 发布:淘宝试客是什么 编辑:程序博客网 时间:2024/05/19 16:03

    表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。

#ifndef _TABLE_H_#define _TABLE_H_//要调用的函数的格式要和函数指针的格式相同。。void add(void){printf("调用了add函数\n");}void delet(void){printf("调用了delet函数\n");}void fun3(void){printf("调用了fun3函数\n");}//定义一个函数指针。用来指向要调用的函数typedef void(*function)(void);typedef struct typedefine{int id;function fun;}table;table TableDrive[]={1,add,2,delet,3,fun3}#endif;



main.c


#include <stdio.h>#include <windows.h>#include <memory.h>#include "table.h"void main(void){int i;int k;function fun = NULL;k = 0;i = 0;printf("请输入要调用的函数,共三个 0~2\n");scanf_s("%d",&i,1);printf("i值为:%d\n", i);//得到相对应的函数for (k; k< (sizeof(TableDrive) / sizeof(table));k++){if (k == TableDrive[i].id){fun = TableDrive[i].fun;}}//执行函数if (fun != NULL){fun();}system("pause");}


table.h




0 0