C 外部存储类和全局变量

C 外部存储类和全局变量,c,C,可能重复: 在C编程语言中,外部存储类和全局变量之间有什么区别。?在我看来,它们似乎是同一件事。请澄清。外部变量是另一个单位中定义的变量的声明 您可以在.h文件中声明它: extern int global_var; 如果要在.c文件中使用它,请在全局范围内定义它。您应该将.h文件包含在使用它的源文件中 全局变量是在块外声明的变量。 它们可以在程序中的任何地方访问 请注意,了解声明变量和定义变量之间的区别非常重要: 声明一个变量-有一个具有此名称的对象,它具有此类型。编译器可以使用这个变量

可能重复:


在C编程语言中,外部存储类和全局变量之间有什么区别。?在我看来,它们似乎是同一件事。请澄清。

外部变量是另一个单位中定义的变量的声明

您可以在
.h
文件中声明它:

extern int global_var;
如果要在
.c
文件中使用它,请在全局范围内定义它。您应该
.h
文件包含在使用它的源文件中

全局变量是在块外声明的变量。 它们可以在程序中的任何地方访问

请注意,了解声明变量和定义变量之间的区别非常重要:

  • 声明一个变量-有一个具有此名称的对象,它具有此类型。编译器可以使用这个变量,而不需要它的所有定义
  • 定义变量-提供创建此变量的所有信息