外部变量的目的?

Job*_*obs -1 c terminology global-variables extern

在 c 中,在我看来,在函数之外编写的所有内容都已经是“extern”了。那么,究竟何时必须将变量指定为 extern?

它与定义与声明有关吗?

此外,是否需要使用 extern 声明变量才能访问已在另一个文件中定义的变量?

Jay*_*hoi 5

EXTERN扩展能见度到整个项目,由外扩的变量,我们可以使用变量在程序的任何地方提供的,我们知道他们的声明和变量定义的地方。

默认情况下,文件范围内(不在其他文件中)的变量声明是外部的。

在 c 中,在我看来,在函数之外编写的所有内容都已经是“extern”了。那么,究竟何时必须将变量指定为 extern?

这对于 c 很可能是正确的functions 默认情况下,C 函数的声明和定义都带有“extern”前缀

例如有一个文件命名file1.c和声明函数 lilke

int my_function();
Run Code Online (Sandbox Code Playgroud)

extern开头有一个隐藏的礼物,编译器将其视为如下。

extern int my_function();
Run Code Online (Sandbox Code Playgroud)

因此,每当我们定义一个 C 函数时,在函数定义的开头都会出现一个 extern。

对于C变量

在定义一个函数时,我们可以在它前面加上 extern 没有任何问题。但C 变量并非如此。

如果我们将externin 变量的存在作为默认值,则永远不会为它们分配内存,它们只会被声明。因此,extern当我们想声明它们而不定义它们时,我们显式地放置了for C 变量。`