C语言中,static关键字有两个作用,修饰变量和修饰函数。
一、修饰变量
用static修饰的变量有两个特点:
1)作用域为本文件中,从定义之处开始,到文件结尾处;
2)static修饰的变量分配到内存中的静态区,调用这个变量的函数运行结束后,该变量的值不会被销毁,仍然保持函数运行后的值,该特点可以用来计数。
不用static修饰的变量,在函数运行结束后,变量被销毁。
二、修饰函数
函数的作用域仅限于定义该函数的文件,此时函数又称为内部函数。好处是多个人合作同一个项目时不用担心自己的函数和别人的函数同名。