我希望能够使用单个泛型函数调用来调用多个函数。
目前我正在尝试实现这样的目标:
main()
{
generic();
}
A(){.....};
B(){.....};
C(){.....};
我从main()
调用一些泛型函数,而这些泛函函数应该能够调用函数:A(),B(),C()。
如何在C中实现此功能?
答案 0 :(得分:2)
您可以使用函数指针来完成。请参考"如何在C"
中使用函数指针答案 1 :(得分:0)
如果要调用的所有函数都具有相同的原型,则可以使用函数指针。
答案 2 :(得分:0)
你必须使用如下的函数指针。
#include<stdio.h>
void A(void);
void B(void);
void C(void);
typedef void (*foo_ptr_t)( void );
foo_ptr_t foo_ptr_array[3]; //fucntion pointers of type foo_ptr_t
main()
{
int i = 0;
foo_ptr_array[0] = A; //assign function to each function pointer
foo_ptr_array[1] = B;
foo_ptr_array[2] = C;
for(i = 0; i<3; i++)
foo_ptr_array[i](); //call functions using function pointer
}
void A()
{
printf("We are in A\n");
}
void B()
{
printf("We are in B\n");
}
void C()
{
printf("We are in C\n");
}