在函数内部定义的变量称为局部变量或内部变量,它们存储在动态存储区中。在函数外部定义的变量称为外部变量或全局变量,它们存储在静态存储区域中。
外部变量是在函数外部定义的全局变量。它的范围从变量的定义延伸到程序文件的末尾。在这个区域中,全局变量可以被各种函数引用。外部变量在编译时分配在静态存储中。
局部变量的作用域是定义变量的函数,或者定义变量的复合语句。局部变量的生命周期是从调用函数的那一刻开始计算的,直到函数返回到调用它的地方为止。
扩展信息
全局变量从程序立即占用内存,并且在程序的整个运行过程中可以随时访问。当程序退出时,内存被释放。相应的局部变量在进入语句块时接收内存,并且只能被语句块内的语句访问。退出语句块时内存被释放并且不再有效。
局部变量定义后不会自动初始化,除非程序员指定一个初始值。除非程序员指定初始值,否则全局变量会自动初始化为零。在同一个源文件中,全局变量和局部变量可以具有相同的名称。全局变量不影响局部变量的作用域。
有时需要使用extern在其他文件中声明全局变量,以扩展全局变量的作用域。全局变量也可以声明为静态,这样它们就不能被其他文件引用。在B语言、C语言以及其他一些派生语言(如C++)中,外部变量就是外部变量。
链接来源:-局部变量
链接来源:-外部变量
上一篇:内存函数
下一篇:win10啥都没开内存占了54%