首页 >后端开发 >C++ >什么时候应该在 C 中使用'extern”声明?

什么时候应该在 C 中使用'extern”声明?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-20 20:51:11798浏览

When Should You Use the `extern` Declaration in C  ?

何时在 C 中使用 Extern 声明

extern 声明是 C 中管理全局变量的有用工具。它使程序员能够将变量的声明与定义分开,从而更好地控制这些变量的范围和使用。

通过在头文件中声明全局变量,例如 extern int x;,您可以为包含标头的所有源文件确定其存在。然而,变量的实际定义需要内存分配,通常是在单个源文件中完成的。

考虑以下示例:

头文件 (header.h )

#ifndef HEADER_H
#define HEADER_H

extern int global_x;
void print_global_x();

#endif

源文件1 (source1.cpp)

#include "header.h"

int global_x;

int main()
{
    global_x = 5;
    print_global_x();
}

源文件 2 (source2.cpp)

#include <iostream>
#include "header.h"

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

在此示例中,global_x 被声明为外部标头,允许两个源文件访问它。但是,在source1.cpp中将其定义为int global_x;创建对两个源文件都可见的变量的单个实例。这确保了任一文件中对 global_x 的更改都会反映在其他文件中。

使用 extern 声明可以灵活地管理全局变量,减少出现运行时错误的可能性并改进代码组织。它允许在标头中集中声明变量,同时在实际使用它们的本地化源文件中启用它们的定义。

以上是什么时候应该在 C 中使用'extern”声明?的详细内容。更多信息请关注PHP中文网其他相关文章!

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