编译只会警告,不报错

extern可以应用到C变量(数据对象)和C函数,主要是为了扩展变量和函数的可见性。

先说声明和定义,声明只是告诉程序变量/函数存在。函数声明和定义可以分开,声明是参数类型,函数名,返回类型,定义是写函数体。变量的声明和定义是在一起的。声明可以多次,定义只能一次。

extern,对于函数定义和声明默认存在。对于变量,加上就会变成声明变量,在初始化,就会被初始化器变成定义。