关于extern的具体的用法。
关于extern的用法我查找了一些资料,但是感觉还不是很理解。【extern int temp;只是说明temp是一个外部变量,此时并没有定义它,而实际上外部也没有定义,所以编译时提示出错。
extern int temp=0;说明temp是一个外部变量,同时定义了temp为int并初始化,(声明不能初始化)。 】
按照这种理解,下列程序应该运行正确,然而却不然,
程序代码:#include<stdio.h>
#include<stdlib.h>
void test()
{
extern int i=0;
}
void main()
{
test();
system("pause");
}如果说extern int i 是为了声明变量为外部,此处没有定义,需要外部寻找,那下面的程序为什么运行出错?
程序代码:#include<stdio.h>
#include<stdlib.h>
void test()
{
extern int i;
i = 0;
}
void main()
{
int i;
test();
system("pause");
}还有这个,也是出错的:
程序代码:void test()
{
extern int i;
int i = 0;
}
void main()
{
test();
system("pause");
}只有这个是正确的:
程序代码:#include<stdio.h>
#include<stdlib.h>
void test()
{
extern int i;
}
void main()
{
test();
int i = 0;
system("pause");
}是不是说,extern声明的变量只能在外部使用,而在本函数块不能使用?还是说extern有其他的一些限制?
能不能具体说说extern的具体的用法?









