Declared global names static
are internally referenced, which means that such a name is private to the translation unit. More specifically, within a single translation unit, all declarations of a static
name refer to the same object or function, but in each translation unit such an announcement refers to a separate object or function. (In contrast, all external-referenced names refer to the same object throughout the program.)
source
share