关于全局变量的说法是什么:
如果没有static
关键字声明:
- 它具有
file scope
和external linkage
或 - 它具有
program scope
,并且在程序中可见
中的所有文件
如果用static
关键字声明:
- 它具有
global scope
和internal linkage
或 - 它具有
file scope
和internal linkage
以及与此相关的全局名称空间范围如何?
这个概念确实使Altough感到困惑,我想我理解它是如何工作的,但是在不同的地方,他们以不同的方式称其为正确。
第一个问题的答案都是不正确的。
该变量确实具有外链接,但仅在其在其中声明的情况下才能在其他程序单元中看到。
至于第二个问题,实际上该变量将具有文件范围和内部链接。
在某些明确指定的名称空间之外声明的任何变量都被认为是在全局名称空间中声明的。可以在任何名称空间(包括全局名称空间)中声明具有外部或内部链接的变量。
。我们正在谈论在任何功能之外声明的变量。