extern int i;//写成i = 10;行吗?-- 在函数体内赋值是可以的。
extern void fun(void);//两个void 可否省略?-- 不可省略。两个void是用来说明外部函数的返回值和参数的。
extern double j;//这样行吗?为什么?-- 不可以。C程序中,不允许出现类型不同的同名变量。
j = 3.0;//这样行吗?为什么?-- 可以。但是数值会被取整。
C中,extern的作用是声明一个位于其他程序文件内的全局变量,以便在本程序文件中正确使用该变量。就是说,变量已经在别的文件里声明过了,那么在其他的文件里只要在同样的变量声明语句前用extern加以修饰,就可以在程序里如同一个普通变量一样使用了。