1、extern和变量
a)一个函数不可以访问在它后面定义的全局变量;
b)在函数面前声明一个全局变量需要用到extern关键字,但可省略extern关键字,但是extern只是声明一个变量,而不能定义一个变量;
c)函数内部的局部变量加上extern变量会变成全局变量;
d)在同一文件下重复定义同一名字的全局变量,这些变量都代表同一个变量;
e)在不同的源文件中,存在着同名的全局变量,那么这些变量都代表着同一个变量;
2、static和变量
a)局部变量用static关键字修饰时,改变的是它的生命周期,而未改变它的作用域;
b)全局变量用static关键字修饰时,改变的是它的作用域,即可以让其他源文件访问不到这个全局变量;
c)如果在不同源文件内出现了用static修改的同名全局变量,那么这些变量互不干扰;