标题:关于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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406375-1-1.html




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

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