全局范围与文件范围



关于全局变量的说法是什么:

如果没有static关键字声明:

  1. 它具有file scopeexternal linkage
  2. 它具有program scope,并且在程序中可见
  3. 中的所有文件

如果用static关键字声明:

  1. 它具有global scopeinternal linkage
  2. 它具有file scopeinternal linkage

以及与此相关的全局名称空间范围如何?

这个概念确实使Altough感到困惑,我想我理解它是如何工作的,但是在不同的地方,他们以不同的方式称其为正确。

第一个问题的答案都是不正确的。

该变量确实具有外链接,但仅在其在其中声明的情况下才能在其他程序单元中看到。

至于第二个问题,实际上该变量将具有文件范围和内部链接。

在某些明确指定的名称空间之外声明的任何变量都被认为是在全局名称空间中声明的。可以在任何名称空间(包括全局名称空间)中声明具有外部或内部链接的变量。

我们正在谈论在任何功能之外声明的变量。

相关内容

  • 没有找到相关文章