我在我的程序中有以下文件,一个包含特定函数定义的头文件和一个包含函数体的程序。使用指针数组调用函数
something.h
typedef struct _foo {
int id;
int lucky_number;
} foo;
typedef void (*pointer_fc)(foo *);
void first(foo *);
void second(foo *);
void third(foo *);
extern pointer_fc fc_bases[3];
something.c
pointer_fc fc_bases[] = {first, second, third};
/* body of functions */
注意,在标题我已经定义函数指针阵列,并且在something.c
程序,所述函数与数组的每个元素相关联。
假设在某个时刻我需要在main.c
程序中调用所有3个函数。有了这个,我可以如何使用extern数组指针在我的main.c
中调用这个函数。
'fc_bases [n](params);'(并且'extern' decl中不需要'3')。 – WhozCraig
关于没有参数的函数的问题与问题本身无关,所以我编辑了它。 – SealCuadrado