单片机程序定义变量差异

[复制链接]
 楼主| fany0902 发表于 2010-8-5 13:58 | 显示全部楼层 |阅读模式
我在做数码管显示的时候,在main函数里定义时,keil编译会出错,但我把变量定义为全局变量时,反而编译成功,不知道大家有没有遇到过这个问题?
new1988 发表于 2010-8-5 14:29 | 显示全部楼层
把出错的提示和程序放上来,你这样说谁知道是上面错误啊
冷漠 发表于 2010-8-5 14:32 | 显示全部楼层
main函数里定义的变量是私有局部变量,其它外部函数看不见的;全局变量是公有PUBLIC的,作用于全程序。

其它函数(无论main 内或外)要引用main函数里定义的变量,应该…………
YINGZEZIGA 发表于 2010-8-5 14:41 | 显示全部楼层
main函数里面定义的变量就是全局变量了么?好好再去看看C语言吧。你肯定是别的子程序调用这个变量了,如果是全局变量,就老老实实在外边定义并赋初值。
一棵小草 发表于 2010-8-5 14:51 | 显示全部楼层
main中定义的变量,是局部变量,只能在main函数中使用。其他函数不能调用。

全局变量是,任何函数都能用,一般定义在开始。
pumafire 发表于 2010-8-5 22:55 | 显示全部楼层
正解!
calor 发表于 2010-8-5 22:58 | 显示全部楼层
main函数里的变量只能作用于main函数。还是局部变量
linqing171 发表于 2010-8-6 08:43 | 显示全部楼层
你在main函数的第一行定义的么?
c的标准要求必须在语句前定义,而C++标准随处可以定义,比如printf语句里面的括号里都可以定义。
 楼主| fany0902 发表于 2010-8-7 09:33 | 显示全部楼层
8楼的说的很对,非常感谢。确实要放到最前面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

1

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