永发信息网

c 变量值 做为函数名

答案:1  悬赏:0  手机版
解决时间 2021-11-25 01:52
  • 提问者网友:我是女神我骄傲
  • 2021-11-24 08:03
c 变量值 做为函数名
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-11-24 08:26
把函数写到 函数列表。根据 序号 获取函数指针,然后执行。
#include 
#include 
#define FUNC_MAX 0xFF
typedef void (*FUNC_TEST)(int , int );
// 函数列表
FUNC_TEST  func_list[FUNC_MAX];
void reg(int id, FUNC_TEST fun){ // 注册到函数列表
if(id<0) return ;
func_list[id]=fun;
}
void exe(int id, int a,int b){ // 根据ID执行
if(id<0||id>=FUNC_MAX) return ;
FUNC_TEST f=func_list[id];
f(a, b);
}
// 测试函数
void CAA(int a,int b){
printf("This is CAA %d %d!
", a,b);
}
void CBB(int a,int b){
printf("This is CBB %d %d!
", a,b);
}

// 实例
int main(){
// 初始化函数列表
memset(func_list,1,FUNC_MAX);
// 注册函数
reg(0xAA, CAA);
reg(0xBB, CBB);

// 根据ID执行
int a= 0xAA;
exe(a, 1, 2);
exe(0xBB, 2, 3);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯