关于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的具体的用法?

DEBUG的过程就是进步的过程,每一个小错误都是大问题!...