首页 > 后端开发 > C++ > 如何在多个C/C文件之间共享全局变量?

如何在多个C/C文件之间共享全局变量?

Barbara Streisand
发布: 2024-12-07 17:13:12
原创
458 人浏览过

How to Share Global Variables Between Multiple C/C   Files?

在 C/C 中跨多个文件访问全局变量

在 C/C 程序中处理多个源文件时,通常会出现以下情况:有必要在它们之间共享全局变量。这可以通过各种方法来实现,包括静态和外部声明或使用头文件。

考虑示例提供:

source1.cpp:

int global;

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
登录后复制

source2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
登录后复制

解决方案1:头文件与extern

首选方法是在两个源都包含的头文件中声明全局变量 extern文件:

common.h:

extern int global;
登录后复制

source1.h cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
登录后复制

source2.cpp:

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
登录后复制

这个确保 global 的声明对两个源文件都可见,但仅存在一个定义(在 source1.cpp 中)。 extern 关键字指定该变量在其他地方声明。

以上是如何在多个C/C文件之间共享全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板