Managing Global Variables Across Multiple Files
To access a common variable across multiple source files, it's crucial to consider the variable's scope and linkage. Here's how to handle this effectively:
Declaring and Defining Global Variables
The declaration of the global variable should be located in a header file that is included by all the source files that need to access it. The declaration should use the extern keyword to indicate that the variable is defined elsewhere:
// common.h extern int global;
The definition of the global variable should appear in only one of the source files. This ensures that the variable is initialized correctly and avoids memory conflicts:
// source1.cpp #include "common.h" int global; // Definition int function(); int main() { global = 42; function(); return 0; }
Example: Shared Variable Access
Consider the following code, where two source files need to access a shared variable:
// source1.cpp #include "common.h" int function() { global = 42; return global; } // source2.cpp #include "common.h" int function() { if (global == 42) return 42; return 0; }
In this scenario, the extern declaration in the header file ensures that both source files can access the global variable. The definition in source1.cpp initializes the variable to 42, while source2.cpp checks its value.
The above is the detailed content of How to Effectively Manage Global Variables Across Multiple Files in C ?. For more information, please follow other related articles on the PHP Chinese website!