打印

把变量定义为全局变量时,反而编译成功

[复制链接]
832|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
栩栩如生|  楼主 | 2014-11-4 12:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在做数码管显示的时候,在main函数里定义时,keil编译会出错,但我把变量定义为全局变量时,反而编译成功,不知道大家有没有遇到过这个问题?
沙发
zwll| | 2014-11-4 12:24 | 只看该作者
main函数里定义的变量是私有局部变量,其它外部函数看不见的;全局变量是公有PUBLIC的,作用于全程序。

其它函数(无论main 内或外)要引用main函数里定义的变量,应该…………

使用特权

评论回复
板凳
chuxh| | 2014-11-4 12:27 | 只看该作者
main函数里面定义的变量就是全局变量了么?好好再去看看C语言吧。你肯定是别的子程序调用这个变量了,如果是全局变量,就老老实实在外边定义并赋初值。

使用特权

评论回复
地板
juventus9554| | 2014-11-4 12:27 | 只看该作者
main中定义的变量,是局部变量,只能在main函数中使用。其他函数不能调用。

全局变量是,任何函数都能用,一般定义在开始。

使用特权

评论回复
5
司徒老鹰| | 2014-11-4 12:29 | 只看该作者
main函数里的变量只能作用于main函数。还是局部变量

使用特权

评论回复
6
llljh| | 2014-11-4 12:30 | 只看该作者
main函数里的变量只能作用于main函数。还是局部变量

使用特权

评论回复
7
dingy| | 2014-11-4 12:32 | 只看该作者
你在main函数的第一行定义的么?

使用特权

评论回复
8
dingy| | 2014-11-4 12:32 | 只看该作者

c的标准要求必须在语句前定义,而C++标准随处可以定义

使用特权

评论回复
9
dingy| | 2014-11-4 12:32 | 只看该作者

c的标准要求必须在语句前定义,而C++标准随处可以定义

使用特权

评论回复
10
pengf| | 2014-11-4 12:34 | 只看该作者
对,比如printf语句里面的括号里都可以定义。

使用特权

评论回复
11
supernan| | 2014-11-4 12:35 | 只看该作者
变量一般都有自己的作用域,如果定义局部变量通不过,说明在它作用域以外的地方使用了该变量

使用特权

评论回复
12
houcs| | 2014-11-4 12:36 | 只看该作者
司徒老鹰 发表于 2014-11-4 12:29
main函数里的变量只能作用于main函数。还是局部变量



用引用

使用特权

评论回复
13
liuzaiy| | 2014-11-4 12:37 | 只看该作者
你是否定义了sbit类型变量。sbit 不能在函数里定义。sbit 变量只能是全局变量 。所以必须在函数外定义。

使用特权

评论回复
14
栩栩如生|  楼主 | 2014-11-4 12:38 | 只看该作者
嗯,知道了,多谢

使用特权

评论回复
15
栩栩如生|  楼主 | 2014-11-4 12:39 | 只看该作者
那就结贴了哦

使用特权

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

本版积分规则

310

主题

2657

帖子

0

粉丝