我对如何在头文件中声明函数指针感到有点困惑。 我想在 main 和一个名为 menus.c 的文件中使用它,并在我假设的 menus.h 中声明它。 我们要初始化指向某个函数。
看起来像这样:
void (*current_menu)(int);
我们在 menus.c、menus.h 和 main 中写什么?
最佳答案
函数指针仍然是一个指针,这意味着它仍然是一个变量。
如果您希望一个变量在多个源文件中可见,最简单的解决方案是在 header 中将其声明为 extern
,并在其他地方进行定义。
在标题中:
extern void (*current_menu)(int);
在一个源文件中:
void (*current_menu)(int) = &the_func_i_want;
关于c - 如何在头文件和c文件中声明函数指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562694/