发新帖我要提问
12
返回列表
打印

如何让多个c文件共享变量???

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
unciauncia| | 2013-3-17 13:55 | 只看该作者 回帖奖励 |倒序浏览
好东西啊,学习了。模块化编程一直不太懂,这会学习了

使用特权

评论回复
22
andyding| | 2013-3-17 14:04 | 只看该作者
2楼描述的很清楚了,例子都出来了

使用特权

评论回复
23
sysdriver| | 2013-3-17 17:50 | 只看该作者
2楼说的很清楚,如果理解不了,说明前面基础有待提高,多多练习和实践

比如,main.c里面定义了变量int   var1=5;(定义时可以初始化,也可以不)
如果uart.c里面要用到var1,那么在uart.c里面声明exturn int  var1;(不能初始化)

可以看到,这东西根本与.h文件无关,如果你有很多.C文件用到var1,那你在每个.C文件写exturn int  var1;好了。

如果有很多个共享变量怎么办?那不是要写一大堆?所以才会有include ....h的出现,include的意思可以理解为替换的意思。

使用特权

评论回复
24
hjs1618| | 2013-3-17 19:01 | 只看该作者
需要共享的变量全部声明在头文件中,然后全部定义在主函数上,然后,在各模块内将其包含上

使用特权

评论回复
25
eydj2008| | 2013-3-17 19:48 | 只看该作者
在调用的头文件中声明 extern char xx;便可以使用了 就这么简单
C里面最复杂要算结构体,当然如果你学过C++ 类和结构体 就是一件简单的事儿了

使用特权

评论回复
26
限量_个性。|  楼主 | 2013-3-18 14:33 | 只看该作者
sysdriver 发表于 2013-3-17 17:50
2楼说的很清楚,如果理解不了,说明前面基础有待提高,多多练习和实践

比如,main.c里面定义了变量int   v ...

谢谢 可以理解的

使用特权

评论回复
27
老老实实| | 2013-3-19 22:58 | 只看该作者
c文件定义变量,对应的.h文件声明为extern,需要用这个变量的地方,直接包含.h文件即可,这是最简单的方法
当然考虑到程序的优化啥的,还要细细的考究

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则