Defines a global variable and wants to use it in multiple files,CodeAs follows:
// Var. hextern int var; // var. C # include "var. H "int Var = 10; // othera. C # include "var. H "// otherb. C # include "var. H "// otherc. C # include "var. h"
Only initial values can be assigned to one file; otherwise, the link fails.
See the question C:
Can global variables be defined in multiple. C? Why?
The above is not acceptable, but you can add static in front of it. Static is the static global variable, which is only used in this module.
Global Variables(External variables)The descriptionStatic
It constitutes a static global variable. The global variable itself is a static storage method,
Static global variables are also static storage methods.
The two are not different in storage methods. The difference between the two lies in that the scope of non-static global variables is the whole source.Program,
When a source program is composed of multiple source files, non-static global variables are valid in each source file.
The static global variable limits its scope, that is, it is valid only in the source file that defines the variable,
It cannot be used in other source files of the same source program. Because the scope of static global variables is limited to one source file, they can only be shared by functions in the source file,
Therefore, you can avoid errors in other source files.
After a local variable is changed to a static variable, its storage mode is changed, that is, its lifetime is changed. After changing a global variable to a static variable, it changes its scope,
Limits its scope of use.