static(静态的):用于修饰 局部变量 全局变量 函数
1、static修饰局部变量:
static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)
计算机的存储类型:
栈区:储存的是 局部变量,函数的参数
堆区: 由动态内存分配
静态区: 全局变量、static 修饰的静态变量
static它是将局部变量在栈区储存变为在静态区储存
静态变量和全局变量的生命周期相同
所以程序走完改变量所在的局部范围后不会被销毁
etc.
左边输出的值为十个2 右边输出的值为2~11
2、修饰全局变量:
static修饰全局变量:没有改变其作用域,而是改变了其属性,将其外部链接属性改变为内部链接属性,不能再在其他源文件中使用,只能在本源文件中使用
3、static修饰函数:
static修饰函数与修饰全局变量相似,都是将其外部链接属性变为内部链接属性,不能在其他源文件内使用
(图片来源于网络)