1.隐藏函数
当咱们同时编译多个文件的时候,全部没加static的全局变量和函数都具备全局可见性,其余的源文件也能够访问spa
若是加了static,就会对其余源文件隐藏,利用这个特性能够在不一样的文件中定义同名函数和同名变量,不用担忧命名冲突。作用域
2.对于变量,static还能够:保持变量内容的持久编译
存储在静态数据区的变量会在第一次运行到的时候完成初始化,也是惟一的一次初始化。变量
有2种变量存储在静态存储区:全局变量和静态变量命名
比起全局变量,static更加能够控制变量的可见范围数据
3.对于变量,static默认初始化为0static
注意:文件
全局变量和static全局变量的区别:
做用域
局部变量和static局部变量的区别:
生存期
static局部变量只被初始化一次,之后根据上一次结果值
static函数与普通函数的区别:
做用域