internal static variables: provide private permanent storage , accessible in current function scope
external static variables: accessible in current file scope, no conflict with the same names in other source file
static functions: the same as external static variables