static可以修饰:
局部变量,全局变量,函数。
(1)局部变量:
延长生命周期:局部变量通常在函数调用时创建,函数结束时销毁,在函数中static修饰的局部变量,生命周期会延长到该函数的整个运行期间,即在函数多次调用期间,static局部变量的值会保持上次调用结束时的值,不会被重新初始化。
保持变量的持久性:可以统计函数被调用的次数。
(2)全局变量:
限定作用域:static全局变量被限制在当前源文件中其他文件无法访问该全局变量,防止命名冲突,增强模块化和封装化。
隐藏变量:防止某源文件的全局变量被其他源文件随意修改和访问。
(3)函数:
限定函数的作用域:防止函数被其他源文件调用修改。
实现文件级别的封装。