在语句块外层的变量声明都是默认extern的,变量可以多次定义,如在同一个源文件中可以写无数个int j;编译不会出,因为这仅仅是声明,并没有定义;这也就是为什么可以在头文件中定义变量,其他文件只要包含这个头文件即可的原因。在语句块外层,只能有一个语句对这个变量进行赋值。进行赋值时就是对变量进行定义,多次定义会出错。