一 static修饰变量函数作用(可以做函数和变量的前缀)
在不同文件中定义同名函数和同名变量,不必担心命名冲突
1 全局变量 只在本文件可见,全局变量之前加static就构成了静态的全局变量,全局变量本身就是静态存储方式,在存储方式上并无不同,
非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的
而静态全局变量则限制了其作用域只是在定义该变量的源文件中有效,静态全局变量作用域限于一个文件内只能为该源文件
公用,因此可以避免在其他源文件中引起错误。只初始化第一次,防止在其它单元中被引用。
2 函数变量 只在本文件可见,在本文件中作用域不同,只在当前源文件中使用的函数应该说明为内部函数(static修饰的函数),内部函数
应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件
要包含这个头文件,static函数在内存中只有一份,普通函数每个被调用中维持一份拷贝。
3局部变量 作用域由局部变为全局,生存周期改变为整个程序,只初始化第一次,下一次依据上一次结果值。
二const、
修饰一个变量