File scope
文件范围
如果声明标识符的声明符或类型说明符出现在任何块或参数列表之外,则标识符具有文件范围,该范围终止于翻译单元的末尾。
因此,在任何块或参数列表之外放置标识符的声明(在声明符或类型说明符中)意味着该标识符具有文件范围。标识符的文件范围从声明延伸到声明出现的翻译单元的末尾。
例
标识符 a,b,f 和 g 具有文件范围。
#include <stdio.h>
int a = 1;
static int b = 2;
void f (void) {printf("from function f()\n"}
static void g (void) {printf("from function g()\n"}
int main(void)
{
f(
g(
return 0;
}
/* end of this translation unit, end of file scope */
可能的输出:
from function f()
from function g()