1.修饰局部变量
static修饰局部变量可以使局部变量的生命周期变长
内存分为栈区,堆区,静态区
栈区储存:局部变量,形式参数
堆区储存:动态内存分配
静态区储存:静态变量,全局变量
static修饰局部变量时,局部变量就变成了静态的局部变量,出了局部范围,不会销毁,下一次进入函数依然存在。其实质是改变了变量的储存位置,本来局部变量是放在栈区的,被static修饰后放在了静态区,从而导致出了作用域依然存在,生命周期没有结束
2.修饰全局变量
static修饰全局变量,改变了全局变量的链接属性,使全局变量的外部链接属性变成内部链接属性,只能在自己所在的源文件内部使用,不能在其他文件内部使用了。
3.修饰函数
static修饰函数,仍然改变了函数的链接属性,使函数的外部链接属性变成内部链接属性,只能在自己的源文件内部使用,改变了函数的作用域。