【C/C++分多文件】C语言C++如何将一个复杂的程序分成多文件项目,头文件设置共享全局变量

多文件C/C++项目

某些场景中,我们不想把整个复杂代码写在同一个文件里,因为这使得代码冗长,可读性差难以维护。常见的解决方法是在一个.h头文件中定义一些全局变量,函数…,在多个子文件中共享这个.h文件中的全局变量

这个是程序本来的样子,但是代码太长了,我想vs将它变成多文件项目,怎么改?

下面标了1,2,3,4 是程序的4个部分,下面会提到每个部分放在哪儿。
在这里插入图片描述

最终的效果如下
在这里插入图片描述

1.创建vs项目

创建一个空项目
在这里插入图片描述

将代码全部粘贴进来,确保可以运行!
在这里插入图片描述

2.创建.h和.cpp文件

首先创建c.h和c.cpp文件。c2.h、c2.cpp待会儿来
在这里插入图片描述

将ConsoleApplication1.cpp中的第2部分放在c.h中 (我在上面将程序分为了4个部分)
在这里插入图片描述

并且,我希望employeeCount和employeeList作为全局变量,所以我在它前面加一个extern,表示申明,而且这个时候不能给它赋值!!!

//定义全局 员工 数组栈指针
extern int employeeCount;
extern struct Employee employeeList[100];

然后将函数的实现,也就是ConsoleApplication1.cpp中的第4部分,放在c.cpp里面,并且头文件也要加进去,还要#include "c.h",除此以外,在c.h中声明的employeeCount和employeeList 在这里定义,这个时候可以赋初始值,在我的这个程序中我设置了employeeCount 初始值为 0;
在这里插入图片描述

3.分文件测试成功

ok,经过上面的操作,ConsoleApplication1.cpp变成了如下的样子,记得#include "c.h",就可以运行成功了,分文件已经完成
在这里插入图片描述

全局变量

如果程序再多一点,c.cpp里面我不想写太多,这个时候我想创建一个c2.h和c2.cpp,在这里创建一些其他的功能,并且想要共享c.h中的employeeCount和employeeList

在这里插入图片描述
在这里插入图片描述

由于c.h中声明了全局变量,并且在c.cpp中进行了定义初始化,所以我可以在c2.cpp中愉快的使用这两个变量了

//定义全局 员工 数组栈指针
extern int employeeCount;
extern struct Employee employeeList[100];

ok

回到主函数文件ConsoleApplication1.cpp

这样我在主函数中引入#include "c2.h" 就可以使用c2.h里面的函数了

在这里插入图片描述
这样,全局变量的声明和定义问题就解决了

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学长敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值