命名空间
变体
操作

文件作用域

来自 cppreference.com
< c‎ | 语言

如果声明标识符的声明符或类型说明符出现在任何块或参数列表之外,则标识符具有文件作用域,该作用域在翻译单元结束时终止。

因此,标识符声明(在声明符或类型说明符中)的放置在任何块或参数列表之外意味着标识符具有文件作用域。标识符的文件作用域从声明开始,到声明出现的翻译单元结束。

[编辑] 例子

标识符 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()