C++多个文件共用一个全局变量

本文介绍了在C++中如何实现多个文件共享一个全局变量。通过使用extern关键字进行声明,结合头文件的包含,使得全局变量可以在不同的源文件中被访问。同时,讨论了类和结构体作为全局变量的情况,提供了创建类实例作为全局变量的步骤。
摘要由CSDN通过智能技术生成

关键解决点是使用extern,还有就是理解C++声明、定义、赋值。

声明是告诉程序,这个地方有个变量,定义是为变量开辟空间,赋值是开辟空间后给值

一、基础用法

例如下面这个a.cpp程序:

#include "myhead.h"
#include <iostream>
int main()
{
    std::cout << a;
}

我明明没有定义a,为什么没有报错呢?原因在于我引入了我自定义的头文件#include "myhead.h",下面是头文件中内容:

extern int a;

我们知道include作用只是代码搬运作用,即include作用是把myhead.h文件内代码复制到a.cpp。那么其实两个文件可以合并为:

#include <iostream>
extern int a;
int main()
{
    std::cout << a;
}

上面代码与平时代码还是有些区别就是多了一个extern,extern int a;其实就是声明,并没有定义,a真正在哪定义呢?可能是在另一个thrid.c文件中,thrid.cpp文件内容可能是:

int a;

到此为止a就是一个全局变量。为何是全局变量呢,例如a.c文件它直接引入一个#include "myhead.h"就直接用变量a的值了,假如再创

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值