● static关键字的作用
- 全局静态变量
在全局变量前加上关键字static,全局变量就定义成一个全局静态变量.
内存中的位置: 静态存储区,且在整个程序运行期间一直存在。
初始化: 未经初始化的全局静态变量会被自动初始化为0
作用域: 全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。 - 局部静态变量
在局部变量之前加上关键字static,局部变量就成为一个局部静态变量。
内存中的位置: 静态存储区
初始化: 未经初始化的局部静态变量会被自动初始化为0
作用域: 作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域结束。但是当局部静态变量离开作用域后,并没有销毁,而是仍然驻留在内存当中,只不过我们不能再对它进行访问,直到该函数再次被调用,并且值不变;