static Global Names
摘要
When we define a variable or a function inside the file/global scope, they have external linkage by default. They can be referred to from other .c files/translation units. The static keyword in front of variables and functions in a global scope marks them visible only to the current source file/translation unit, the unit in which they are declared/defined. We say the static specifier makes them have internal linkage. So, globals we do not want to share with other .c files should be marked as static. Both globals globalx and globalfn() are defined inside the source.c file and can be referred to from other .c files as well: