### File Scope

A name has file scope if its declaration appears outside of all blocks and classes. A name with file scope is visible from the point where it is declared to the end of the source file. The name is also made accessible for the initialization of global variables. If a name is declared extern, it is also visible, at linkage time, in all object files being linked. Global names are names declared with file scope.

extern