函数之外定义的变量是外部变量。
概念:
外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。
注意:
有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。
也可用static声明外部变量,使该变量不能被其他文件引用。static声明后该外部变量就只能在本文件中使用。
从函数外部定义的变量是
在函数外部定义的变量称为全局变量。
带static的是静态全局变量, 作用域为当前文件。不带static的是全局变量, 作用域为整个程序。
所有全局变量的生命周期都是整个程序运行。