范围和可见性

标识符的 “可见性”确定它可以引用程序的部分 )其 “范围”。标识符是仅可见 (即,可以使用) 对可绑定其 “范围”,按优先顺序增长的限制的顺序) 到文件中,函数,块,或者出现的函数原型包含的程序的一部分。 标识符的大小是该名称可以使用程序的一部分。 这有时称为 “词法范围”。有四个范围:功能,文件,块和函数原型。

所有标识符,但标签具有该声明会的等级取决于其自己的范围。 每以下规则范围管理标识符的可见性在过程中:

  • 文件大小
    该声明或类型标识符的说明符和文件范围内出现在外部任何块或列出参数并从该翻译单元的任何位置访问在其声明之后。 与文件大小的标识符名称通常称为 “全局”或 “外部”。全局标识符的大小在其定义或声明开始和停止该翻译单元的末尾。

  • 功能范围
    标签是具有功能范围的属性的唯一标识符。 标签通过使用隐式声明语句中。 标签名称必须是唯一的函数中。 (有关标签和标签名称的更多信息,请参见 导航和 labeled 语句。)

  • 块范围
    该声明或类型标识符的说明符具有块范围出现在块或在形参声明列表在函数定义的。 它从其声明或定义点才可见。包含其声明或定义的块的结尾。 其大小限制为该块和对任何块嵌套由于块,并在关闭关联的大括号结束块。 此类标识符有时称为 “局部变量”。

  • 函数原型范围
    该声明或类型标识符的说明符和函数原型范围在参数声明中列出了函数原型 (不是的一部分显示的功能说明)。 其大小停止在函数声明的末尾。

使变量适当的声明显示在其他源文件在 存储类所述。 但是,变量和函数声明与 静态 存储类说明符的外部级别并在定义的源文件中才可见。 其他函数都是全局可见的。

请参见

概念

生存期、大小、可见性和连接