You can use either the static or the extern storage-class specifier in function declarations. Functions always have global lifetimes.
Microsoft Specific —>
Function declarations at the internal level have the same meaning as function declarations at the external level. This means that a function is visible from its point of declaration throughout the rest of the translation unit even if it is declared at local scope.
END Microsoft Specific
The visibility rules for functions vary slightly from the rules for variables, as follows:
Microsoft Specific —>
Microsoft allows redefinition of an extern identifier as static.
END Microsoft Specific