OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6293|回复: 9

如何 定义一个 可以在 多个原文件中使用的全局变量 ?

[复制链接]

72

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1586
注册时间
2014-9-11
在线时间
175 小时
发表于 2016-12-26 15:34:22 | 显示全部楼层 |阅读模式
1金钱
请教:
1. 如何 定义一个 可以在 多个原文件中使用的全局变量 ?
2. 在main函数所在的原文件的开始处 定义可以吗 ?

谢谢 !

最佳答案

查看完整内容[请看2#楼]

方法一: XXX.c中定义,XXX.h中声明。在YYY.c中想使用则包含XXX.h。 方法二: XXX.c中仅使用局部变量、static静态变量、指针,通过函数传参在不同各个.c中传递。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

26

主题

280

帖子

1

精华

高级会员

Rank: 4

积分
908
金钱
908
注册时间
2013-8-2
在线时间
279 小时
发表于 2016-12-26 15:34:23 | 显示全部楼层
本帖最后由 feilusia 于 2016-12-26 15:39 编辑

方法一:
XXX.c中定义,XXX.h中声明。在YYY.c中想使用则包含XXX.h。

方法二:
XXX.c中仅使用局部变量、static静态变量、指针,通过函数传参在不同各个.c中传递。
博客:http://blog.csdn.net/feilusia
CC2541群(127442605);CC2640群(557278427);
Android群(541462902);STM8/STM32群(164311667);
Linux群(512598061);职场交流群(450154342);
回复

使用道具 举报

7

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-10-26
在线时间
58 小时
发表于 2016-12-26 15:42:47 | 显示全部楼层
在任何文件上定义都可以,只要不是在函数内部(包括main函数),定义后变量的作用域仅限于当前文件,如果其他文件需要使用这个全局变量,需要外部引用,用extern关键字就可以了,你可以将外部引用放在一个头文件里,哪些文件想用就包含一下。建议楼主还是去看下c基础的书
回复

使用道具 举报

72

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1586
注册时间
2014-9-11
在线时间
175 小时
 楼主| 发表于 2016-12-26 16:28:42 | 显示全部楼层
feilusia 发表于 2016-12-26 15:38
方法一:
XXX.c中定义,XXX.h中声明。在YYY.c中想使用则包含XXX.h。

谢谢 大侠!学习了
回复

使用道具 举报

72

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1586
注册时间
2014-9-11
在线时间
175 小时
 楼主| 发表于 2016-12-26 16:31:39 | 显示全部楼层
邵少少 发表于 2016-12-26 15:42
在任何文件上定义都可以,只要不是在函数内部(包括main函数),定义后变量的作用域仅限于当前文件,如果其 ...

谢谢大侠 !学习了 !

最近 在看 两本C语言的书:
C语言程序设计(第四版)谭浩强
C Primer plus 第五版
感觉 第二本( C Primer plus 第五版 ) 更好些,讲的 通俗易懂

大侠 能否 给推荐 本 ?
回复

使用道具 举报

7

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2016-10-26
在线时间
58 小时
发表于 2016-12-26 16:37:01 | 显示全部楼层
不需要推荐什么,stm32你应该用不到特别复杂的语言结构,把手上的书看懂,在电脑上编写调试一遍就可以了
回复

使用道具 举报

72

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1586
注册时间
2014-9-11
在线时间
175 小时
 楼主| 发表于 2016-12-26 19:58:42 | 显示全部楼层
邵少少 发表于 2016-12-26 16:37
不需要推荐什么,stm32你应该用不到特别复杂的语言结构,把手上的书看懂,在电脑上编写调试一遍就可以了

好的,多谢大侠
回复

使用道具 举报

头像被屏蔽

132

主题

151

帖子

0

精华

禁止访问

积分
487
金钱
487
注册时间
2016-12-21
在线时间
30 小时
发表于 2016-12-26 22:06:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

72

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1586
注册时间
2014-9-11
在线时间
175 小时
 楼主| 发表于 2016-12-27 08:51:33 | 显示全部楼层
wj70sq 发表于 2016-12-26 22:06
C Primer plus 第五版,我也在看。里面专门讲了extern关键字。

函数章节,指针简介,讲的挺好,根据需要,我目前 先看了这个
extern内容 还没看到

望以后 多多 交流 学习经验

无标题.png

回复

使用道具 举报

头像被屏蔽

132

主题

151

帖子

0

精华

禁止访问

积分
487
金钱
487
注册时间
2016-12-21
在线时间
30 小时
发表于 2017-1-1 11:07:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 06:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表