全局变量和局部变量区别存储重名

Posted 做扎实的PHP开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局变量和局部变量区别存储重名相关的知识,希望对你有一定的参考价值。

1.非静态全局变量

  作用域:全局作用域,只需在一个源文件中定义,可作用于所有源文件(extends再次声明)

  存在:内存的静态存储区中

2.非静态局本变量

  作用域:只局部作用域,自动对象,只在函数执行期间存在,一次调用结束后,该变量被销毁,所占内存也被销毁

  存在:栈

3.静态全局变量

  作用域:全局作用域,若程序包含多个文件,它作用于定义它的文件中,不能作用在其他文件(即被static 修饰的具有文件作用域)

  存在:内存的静态存储区中

4.静态局部变量

  作用域:局部作用域,只被初始化一次,直到程序结束都一直存在,只对定义自己的函数体可见。

  存在:内存的静态存储区中

5.重名的情况

  全局与局部变量重名时,在定义局部变量的子程序内局部变量起作用,其他地方全局变量起作用。

以上是关于全局变量和局部变量区别存储重名的主要内容,如果未能解决你的问题,请参考以下文章

局部变量和全局变量的区别

C++ - 21局部变量和全局变量的区别

C++ - 21局部变量和全局变量的区别

C语言局部变量与全局变量重名时的优先级问题(当局部变量和全局变量同时存在的时候,优先引用局部变量,而不去引用全局变量)

C语言局部变量与全局变量重名时的优先级问题(当局部变量和全局变量同时存在的时候,优先引用局部变量,而不去引用全局变量)

JAVA基础之局部变量与全局变量以及成员变量的区别