C语言中静态关键字static的三种用法如下:
局部变量:
- 持久性:静态局部变量在编译时即被分配空间并初始化,即使函数执行结束,它们依然保持存在,直到程序结束。
- 初始化:静态局部变量的初始化默认为0,也可以在声明时指定初始值。
- 函数参数:如果静态局部变量作为函数参数,它会在每次调用函数时初始化。
全局变量:
- 文件作用域:静态全局变量仅在本文件内可见,避免了命名冲突。
- 模块化:静态全局变量无需extern声明,提供了更好的模块化和隔离,使得变量只在声明它的文件内部可见和使用。
函数:
- 文件内可见:静态函数仅限于声明它的文件内部可见和使用,与其他文件中的同名函数不会发生冲突。
- 避免命名冲突:使用静态函数可以避免不同文件中的同名函数引起的命名冲突。
总结:static关键字在C语言中通过控制变量和函数的生命周期、限制访问范围以及优化资源管理,提升了代码的可读性和可维护性。