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

[复制链接]
unciauncia 发表于 2013-3-17 13:55 | 显示全部楼层
好东西啊,学习了。模块化编程一直不太懂,这会学习了
andyding 发表于 2013-3-17 14:04 | 显示全部楼层
2楼描述的很清楚了,例子都出来了
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的意思可以理解为替换的意思。
hjs1618 发表于 2013-3-17 19:01 | 显示全部楼层
需要共享的变量全部声明在头文件中,然后全部定义在主函数上,然后,在各模块内将其包含上
eydj2008 发表于 2013-3-17 19:48 | 显示全部楼层
在调用的头文件中声明 extern char xx;便可以使用了 就这么简单
C里面最复杂要算结构体,当然如果你学过C++ 类和结构体 就是一件简单的事儿了
 楼主| 限量_个性。 发表于 2013-3-18 14:33 | 显示全部楼层
sysdriver 发表于 2013-3-17 17:50
2楼说的很清楚,如果理解不了,说明前面基础有待提高,多多练习和实践

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

谢谢 可以理解的
老老实实 发表于 2013-3-19 22:58 | 显示全部楼层
c文件定义变量,对应的.h文件声明为extern,需要用这个变量的地方,直接包含.h文件即可,这是最简单的方法
当然考虑到程序的优化啥的,还要细细的考究
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部