【发布时间】:2012-03-02 15:28:05
【问题描述】:
假设我有函数:
void func1(int x)
{
....
}
void func2(int x, int y)
{
....
}
void func3(int x, int y, int z)
{
....
}
并说我想在结构中拥有一个函数指针:
例如
typedef struct{
char *ename;
char **pname;
< and here I want to have a function pointer> ??
} Example;
Example ex[3];
现在,我想将 ex[3] 数组填充为:
ex[0].ename = "X0";
ex[0].pname[0]="A0";
ex[0].pname[1]="B0";
ex[0].<function pointer to func1() > ??
ex[1].ename = "X1";
ex[1].pname[0]="A1";
ex[1].pname[1]="B1";
ex[1].<function pointer to func2() > ??
...等等...
是否可以创建这样的东西?请帮我解决一下这个。谢谢。
【问题讨论】:
-
健全性检查:当您决定调用该函数时,您如何“知道”要传递多少个操作数?
标签: c function pointers struct prototype