5931|14

7

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

为什么局部声明必须放在主函数最前面 [复制链接]

今天写了个程序
void main()
{
uchar i;
initial();//初始化函数;
.....
}
初始化函数与变量i 没有什么关联.为什么两个语句换个位置就出错了呢.说i没有定义.求达人为小弟把这些基础的东西弄清楚,谢谢了!
此帖出自单片机论坛

最新回复

当这个成为一种习惯的时候你就知道了。解决的办法还有一个就是你把函数写在主函数的外面就可以不用声明了。。。。。  详情 回复 发表于 2009-8-27 17:16
点赞 关注
 

回复
举报

277

帖子

0

TA的资源

五彩晶圆(中级)

沙发
 
很欣赏楼主这种“打破砂锅问到底”的精神,不过很遗憾,我也不知道。也可能是我“逆来顺爱”惯了,很多时候,我也不问那么多为什么的,服从就是了,就象国家制定的法律一样,总不可能逐条去问:为什么这样?为什么那样?它就是这样,它就是那样。
嘿嘿,以上是我自家的歪理啊,随便说说罢了,楼主可不要听信。请后面的高人继续解答。
此帖出自单片机论坛
 
 

回复

196

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
这是一种默认的规定,所用到的局部变量必须在函数体的最前面,就像如果在一个大程序中,几个子程序所用到的外部变量必须在子程序的前面定义一样!
此帖出自单片机论坛
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(高级)

4
 
是的。这是C规定的!!就要那样的写!!  但是在C++中变量的定义就可以在任意的位置了。

附了一本书!!!我觉的还可以!!!可以看哈!!!
此帖出自单片机论坛
 
个人签名知识无止境,学习无期限,生活、、、、
 
 

回复

18

帖子

0

TA的资源

一粒金砂(高级)

5
 
是的。这是C规定的!!就要那样的写!!  但是在C++中变量的定义就可以在任意的位置了。

附了一本书!!!我觉的还可以!!!可以看哈!!!
此帖出自单片机论坛
 
个人签名知识无止境,学习无期限,生活、、、、
 
 

回复

18

帖子

0

TA的资源

一粒金砂(高级)

6
 
不好意思。先前没附上来。
此帖出自单片机论坛
 
个人签名知识无止境,学习无期限,生活、、、、
 
 

回复

18

帖子

0

TA的资源

一粒金砂(高级)

7
 
不知道怎么的就是附不上去啊!!

More Effective C++(WQ版).doc

1.28 MB, 下载次数: 7

此帖出自单片机论坛
 
个人签名知识无止境,学习无期限,生活、、、、
 
 

回复

18

帖子

0

TA的资源

一粒金砂(高级)

8
 
终于附上去了!!!但是不是我先想附的!!!
可能是太大了!!
附u上去吧!!!
此帖出自单片机论坛
 
个人签名知识无止境,学习无期限,生活、、、、
 
 

回复

196

帖子

0

TA的资源

五彩晶圆(中级)

9
 
哦,可以压缩啊,分块压缩上来看看
此帖出自单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(高级)

10
 
谢谢大家了!!
此帖出自单片机论坛
 
 
 

回复

1672

帖子

0

TA的资源

裸片初长成(初级)

11
 

回复 楼主 chenmoumou 的帖子

准确说,是放在复合语句(一对花括号中内容)的最前面。
如:
for (...)
{
  int x;
}
这样也是允许的。

C的话是这样,如果编译器支持C++就可以不放在最前面了。
此帖出自单片机论坛
 
 
 

回复

45

帖子

0

TA的资源

纯净的硅(初级)

12
 
此帖出自单片机论坛
 
 
 

回复

29

帖子

0

TA的资源

一粒金砂(高级)

13
 
好 。。。
此帖出自单片机论坛
 
 
 

回复

391

帖子

0

TA的资源

纯净的硅(高级)

14
 
我和一楼一样!哈哈
此帖出自单片机论坛
 
 
 

回复

2498

帖子

0

TA的资源

至上芯片

15
 

回复 楼主 chenmoumou 的帖子

当这个成为一种习惯的时候你就知道了。解决的办法还有一个就是你把函数写在主函数的外面就可以不用声明了。。。。。
此帖出自单片机论坛
 
个人签名我的邮箱gaoxiaoan123@163.com!回帖是一种美德!互相帮助,共同进步!
口头禅:生活在于创造机会,把握机会!
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表