| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:关于C中extern的问题
取消只看楼主 加入收藏
行书万里
Rank: 2
等 级:论坛游民
帖 子:11
专家分:40
注 册:2012-7-12
结帖率:40%
收藏
已结贴  问题点数:20 回复次数:2 
关于C中extern的问题
#include<stdio.h>
extern int temp;//extern int temp=0;
int main(void)
{
   temp=1;
   printf("%d\n",temp);
return 0;
}
为什么C编译时,temp没有初始化会编译出错:unresolved external symbol "int temp";
搜索更多相关主题的帖子: void return 
2013-05-06 23:09
行书万里
Rank: 2
等 级:论坛游民
帖 子:11
专家分:40
注 册:2012-7-12
收藏
得分:0 
我看了些资料,理解对不对?
extern int temp;只是说明temp是一个外部变量,此时并没有定义它,而实际上外部也没有定义,所以编译时提示出错。
extern int temp=0;说明temp是一个外部变量,同时定义了temp为int并初始化,(声明不能初始化)。所以此时编译正确。
2013-05-06 23:45
行书万里
Rank: 2
等 级:论坛游民
帖 子:11
专家分:40
注 册:2012-7-12
收藏
得分:0 
谢谢大家的解答。我明白了extern的作用了。
2013-05-07 22:25
快速回复:关于C中extern的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016151 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved