在 C/C 中跨多个文件访问全局变量
在 C/C 程序中处理多个源文件时,通常会出现以下情况:有必要在它们之间共享全局变量。这可以通过各种方法来实现,包括静态和外部声明或使用头文件。
考虑示例提供:
source1.cpp:
int global; int function(); int main() { global = 42; function(); return 0; }
source2.cpp:
int function() { if (global == 42) return 42; return 0; }
解决方案1:头文件与extern
首选方法是在两个源都包含的头文件中声明全局变量 extern文件:
common.h:
extern int global;
source1.h cpp:
#include "common.h" int global; // Only define it in one file int function(); int main() { global = 42; function(); return 0; }
source2.cpp:
#include "common.h" int function() { if (global == 42) return 42; return 0; }
这个确保 global 的声明对两个源文件都可见,但仅存在一个定义(在 source1.cpp 中)。 extern 关键字指定该变量在其他地方声明。
以上是如何在多个C/C文件之间共享全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!