关于全局变量的说法是正确的:
如果声明没有static
关键字:
file scope
和external linkage
或program scope
,对程序中的所有文件都可见如果使用static
关键字声明:
global scope
和internal linkage
或file scope
和internal linkage
全局命名空间范围如何与此相关?
这个概念确实令人困惑,尽管我觉得我理解它是如何工作的,但是在不同的地方,他们以不同的方式称呼它,所以我不知道哪个是对的。
答案 0 :(得分:1)
第一个问题的答案都不正确。
该变量确实具有extrenal链接,但只有在其中声明它才会在其他程序单元中可见。
至于第二个问题,那么变量确实会有文件范围和内部联系。
在某个显式指定的命名空间外声明的任何变量都被视为在全局命名空间中声明。具有外部或内部链接的变量可以在任何名称空间中声明,包括全局名称空间。
我们谈论的是在任何函数之外声明的变量。