1.修饰局部变量
static修饰局部变量时,会改变局部变量的存储位置,从而使得局部变量的生命周期变长。
修饰后,将存储在静态区而不是栈区,效果变得和全局变量类似。如函数内的局部变量,往往会随着调用完毕销毁,而用static修饰后则不会被销毁,直至程序完全运行结束。
2.修饰全局变量
static修饰全局变量时,会改变全局变量的链接属性,从而使得全局变量的作用域变小。
以往在别的文件使用另一个文件的变量时只需加一个extern即可,若用static修饰,则无法在其他文件中使用,起隐藏变量作用,也减少了文件名冲突(别的文件也可再次定义这个变量名了)。
3.修饰函数
static对函数的修饰与修饰全局变量十分相似,修饰函数时会改变函数的链接属性,从而使得函数的作用域变小。
效果与修饰全局变量类似