头文件中定义数组的问题

头文件中定义数组的问题,第1张

head.h定义了int x

a.cpp包含了head.h

b.cpp包含了head.h

这事head.h中的int x定义分别在两个cpp文件中定义了,就出现了重复定义的情况,因为int x出现了两次

如果非要把全局变量写入头文件,可以这样

head.h声明extern int x

head.cpp中包含head.h并且定义int x

a.cpp包含了head.h

b.cpp包含了head.h

这时头文件是声明,而链接时声明是弱定义,不会造成重复定义,真正的定义在head.cpp中

C语言可以通过在.c文件中定义,头文件中extern的方式实现一个能够在所有文件中都可以使用的全局数组变量。

具体做法如下:

设有一个多项目文件有 1.c、2.c和3.c三个源程序文件;

如果有一个全局数组需要所有文件使用,那么可以添加一个data.c文件,在其中添加全局数组的定义;

向项目中添加data.h文件,在data.h文件中用 extern声明该数组;

只需要在相应的.c文件中添加#include "data.h",那么久可以使用data.c中的全局数组了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11940695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存