首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c 构造体内有pvoid 类型,存放函数指针

2013-04-05 
c 结构体内有pvoid 类型,存放函数指针typedef struct _tagCOMMAND{char cmd[20]PVOID Funcchar help[50]

c 结构体内有pvoid 类型,存放函数指针
typedef struct _tagCOMMAND
{
char cmd[20];
PVOID Func;
char help[50];
}COMMAND,*PCOMMAND;

在这个结构体内,PVOID存放是函数指针,我该如何调用PVOID中的函数指针,我要达到的目的是
cmd是命令,比如说ADD,然后查询这个ADD命令,会对应的找到ADD的函数指针,那我该怎么样去调用该函数
int add(int x,int y)
{
       return x+y;
} c cmd struct
[解决办法]
COMMAND.Func(a,b)
[解决办法]
COMMAND add;//已经定义好的add
(int (*)(int, int))add.Func(a, b);
[解决办法]
既然是函数指针那就直接
Func = add;
Func(x,y);
[解决办法]
用汇编,

push 参数
。。。
call 函数地址
[解决办法]


COMMAND input;
// 解析cmd得到命令名:cmd_name,确定参数个数,以及参数值:arg1,arg2,...
if(0 == strcmp(cmd_name, "ADD"))
{
    input.Func(arg1,arg2);
}
else if(0 == strcmp(cmd_name, "其他命令"))
{
    ...
}
...

热点排行