搜索

[8/16位单片机] 关于全局变量

[复制链接]
120|7
 楼主 | 2020-10-13 19:54 | 显示全部楼层 |阅读模式
我想把全局变量、结构体都放在一个文件里面,主函数、其他函数都可以直接用这些变量,该怎么做呢?求指点

使用特权

评论回复
| 2020-10-13 20:12 | 显示全部楼层
变量可以在其他文件的开始位置再定义一遍,并加extern前缀,否则就重复定义了。

使用特权

评论回复

评论

Amosander 2020-10-14 10:02 回复TA
@49500199 :没错,我用你的方法可以成功定义变量,但对于结构体 得把结构体定义在h文件然后接着用extern声明,然后在对应c文件里面赋值,最后在要用的c文件include,这样通过编译了 
49500199 2020-10-14 08:20 回复TA
@Amosander :在一个C文件里面进行定义,然后在一个.H文件里面使用extern再次声明变量,最后在需要的C文件里,include就OK了,microchip的很多官方代码就是这么干的 
hu9jj 2020-10-13 20:55 回复TA
@Amosander :全局变量应该这样使用,结构体就不清楚,也许不需要重复定义,使用前声明一下就行。 
Amosander 2020-10-13 20:49 回复TA
我在h文件定义一个结构体并用extern前缀声明,然后在c文件赋值并include那个h文件,然后我在其它c文件include那个h文件就可以直接用那个变量了是吧 
| 2020-10-14 11:07 | 显示全部楼层
这是很基础的C文件引用关系, 百度一下就可以找到答案的..

使用特权

评论回复
| 2020-10-14 14:39 | 显示全部楼层
放在一个文件里,或者在别的文件里用extern 声明

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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