静态局部变量

在局部变量前加上“static”关键字,就成了静态局部变量。
静态局部变量存放在内存的全局数据区,局部函数结束时,静态局部变量不会消失,每次函数调用时,也不会为其重新分配空间。
静态局部变量从程序运行开始始终驻留在全局数据区,直到程序运行结束。
静态局部变量的初始化与全局变量类似,如果不为其进行显式初始化,则C++自动为其初始化为0。

对静态局部变量的说明:
1.静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而普通局部变量属于动态存储类别,存储在动态存储区空间,函数调用结束后释放

2.为静态局部变量赋初值是在编译时进行的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值
而为普通变量赋初值,不是在编译时进行的,而是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句

3.如果在定义局部变量时不赋初值的话,对静态局部变量来说,编译时自动赋初值0

4.静态局部变量虽然存放在全局数据区,但是只在当前函数中可见

你可能感兴趣的:(C++,java,jvm,开发语言)