智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1279|回复: 2
打印 上一主题 下一主题

[编程类] 为什么在CW下编译时,全局变量需要在main.c和system.c中重复定义两次呢

[复制链接]

6

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
威望
155
贡献
69
兑换币
81
注册时间
2013-3-16
在线时间
25 小时
毕业学校
山东建筑大学
跳转到指定楼层
#
发表于 2014-4-30 12:15:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
为什么在CW下编译时,全局变量需要在main.c和system.c中重复定义两次呢,如果不定义两次,系统就会报错,可是不是应该在main.c宏定义一次就可以了吗?

最佳答案

查看完整内容

在main.c中定义 int a = 0; 在另一个地方引用 extern int a;
回复

使用道具 举报

12

主题

219

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1957

优秀会员奖章活跃会员奖章

威望
937
贡献
662
兑换币
598
注册时间
2013-2-4
在线时间
179 小时
2#
发表于 2014-4-30 22:44:26 | 只看该作者
楼上说的很对,那不叫重复定义,叫外部变量引用声明,小伙C语言根底不够深呐
回复

使用道具 举报

1

主题

373

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
14252

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
6571
贡献
4551
兑换币
4005
注册时间
2012-1-8
在线时间
1565 小时
1#
发表于 2014-4-30 12:15:15 | 只看该作者
在main.c中定义        int a = 0;
在另一个地方引用    extern int a;
回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 04:09 , Processed in 0.040160 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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