非局部非全局、仅单元内函数可访问的变量通用名称是什么?
问题解答
据维基百科所述:
global variable是一种具有全局作用域的变量,意味着它在整个程序中可见(因此可访问)
你询问的这种变量通常被称作单元作用域变量,不同编程语言里还有更贴合语境的具体称呼,它的核心特征是:
- 不属于任何函数的局部变量,拥有静态生命周期(程序运行期间持续存在)
- 作用域被限定在声明它的「单元」内——单元可对应文件、模块或类,依语言规则而定
- 仅能被同一单元内的函数/成员访问,无法在整个程序范围内直接调用
对应你给出的例子:
- C语言中文件作用域的
static变量:被static修饰的全局变量,作用域仅限当前源文件,其他文件无法通过外部链接访问 - Java中的
private static变量:属于类的静态成员,仅能被当前类内部的方法访问,其他类(包括子类)无法直接引用 - Oberon语言中模块作用域的非导出变量:未使用
EXPORT关键字标记的模块变量,仅能被模块内部的过程调用,外部模块无法访问
内容的提问来源于stack exchange,提问作者August Karlstrom
相关产品推荐
相关产品推荐

