关键字static的理解
- 函数体内,一个被声明为静态的变量,在函数体被调用时,其值不会改变
- 在模块内(如main.c),但是在函数体外,一个被声明为静态的变量,可以被模块内的函数体调用,但是不能被模块外的函数体调用。是一个本地的全局变量。
- 在模块内,一个被声明为静态的函数,只可以被模块内的函数调用,它被限制在本地使用
作用:保护数据的有效性和代码移植的可靠性。
在一个工程项目中,往往是由几个人来完成,为了避免程序移植合成后,变量重名和被调用后数值改变,需要将某些变量本地化保护。