static既可以修饰变量又可以修饰函数,修饰变量既可以修饰局部变量又可以修饰全局变量
(1):static修饰局部变量:被static修饰的局部变量称为静态局部变量,静态局部变量的
生命周期延长至整个程序结束之后再释放空间
(2):static修饰全局变量:该变量被称为静态全局变量,静态全局变量只能在该文件中
被引用不能在其它文件中被引用,这一点在实际应用中很重要,比如主函数文件中
和子函数源文件中都定义了全局变量i,在源文件中的i只要用static修饰就可以避
免重复定义的问题了
(3):static修饰函数:被static修饰的函数只能在本文件中被引用,不能在其它文件中被
引用,在内核原码中的函数都是用static修饰的,这样和静态全局变量一样可以避
函数名重复定义的问题。
static修饰的变量保存在数据区的静态数据区,未初始化的变量编译器自动初始化为零。