打印

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

[复制链接]
433|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shimx|  楼主 | 2019-4-15 18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dengdc| | 2019-4-15 18:56 | 只看该作者

main函数里定义的变量是私有局部变量,其它外部函数看不见的;全局变量是公有PUBLIC的,作用于全程序。

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

使用特权

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

使用特权

评论回复
地板
lizye| | 2019-4-15 19:07 | 只看该作者
main中定义的变量,是局部变量,只能在main函数中使用。其他函数不能调用。

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

使用特权

评论回复
5
shimx|  楼主 | 2019-4-15 19:11 | 只看该作者
main函数里的变量只能作用于main函数?还是局部变量?

使用特权

评论回复
6
heweibig| | 2019-4-15 19:16 | 只看该作者
是的

使用特权

评论回复
7
shimx|  楼主 | 2019-4-15 19:19 | 只看该作者
你在main函数的第一行定义的么?

使用特权

评论回复
8
shimx|  楼主 | 2019-4-15 19:22 | 只看该作者
c的标准要求必须在语句前定义,而C++标准随处可以定义,比如printf语句里面的括号里都可以定义。

使用特权

评论回复
9
jiaxw| | 2019-4-15 19:27 | 只看该作者
main他也只是一个函数而已,只是让编译器知道他在做完了一些列初始化后该把cpu的权利交给一个叫main的统一入口开始继续跑

使用特权

评论回复
10
午夜粪车| | 2019-4-15 19:30 | 只看该作者

在keil里面的一般最好都定义成全局变量的比较好的

使用特权

评论回复
11
zhenykun| | 2019-4-15 19:35 | 只看该作者

你的keil存在问题吗?

使用特权

评论回复
12
jiaxw| | 2019-4-15 19:39 | 只看该作者
全局变量怎么定义的?

使用特权

评论回复
13
shimx|  楼主 | 2019-4-15 19:43 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先

使用特权

评论回复
14
decoding| | 2019-4-16 14:32 | 只看该作者
肯定是你这个变量其他地方用到了,所以需要定义成全局变量

使用特权

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

本版积分规则

857

主题

10661

帖子

5

粉丝