首页 >后端开发 >C++ >什么时候应该在 C 中使用'extern”关键字作为全局变量?

什么时候应该在 C 中使用'extern”关键字作为全局变量?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-04 08:38:35324浏览

When Should You Use the `extern` Keyword for Global Variables in C  ?

声明全局变量:何时利用 C 中的 extern 关键字

C 中的 extern 关键字在管理全局变量方面起着至关重要的作用。它使您能够在多个源文件中声明全局变量的存在,同时仅定义一次。

理解 extern 的作用

extern 关键字通知编译器全局变量的存在多变的。它不提供定义,只是声明其名称和类型。通过使用 extern,您可以访问其他源文件中的变量,而无需重新定义它。

使用 extern 全局变量的好处

  • 集中声明:您可以在单独的头文件中声明全局变量,使它们可用于包含该头文件的所有源文件
  • 高效定义:通过在一个源文件中仅定义一次全局变量,可以防止不一致和混乱。
  • 链接器解析:链接器组合来自多个源文件的目标文件并解析对全局变量的引用,确保使用定义的变量无处不在。

使用示例

考虑以下内容例如:

header.h:

#ifndef HEADER_H
#define HEADER_H

extern int global_x;

void print_global_x();

#endif

源1.cpp:

#include "header.h"

// Define global_x here
int global_x = 5;

int main()
{
    print_global_x();
}

source2.cpp:

#include "header.h"

void print_global_x()
{
    std::cout << global_x << std::endl;
}

中在本示例中,global_x 在 header.h 中使用 extern 进行声明,使其为 source1.cpp 和 source2.cpp 所知。但是,它仅在 source1.cpp 中定义,确保它可以在两个源文件中使用。

以上是什么时候应该在 C 中使用'extern”关键字作为全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn