static 全局变量
时间: 2023-08-13 21:10:06 浏览: 121
全局 局部变量以及static 变量区别
在C语言中,可以使用关键字 "static" 来定义静态全局变量。静态全局变量与普通全局变量的区别在于其作用域仅限于定义它的源文件,不能被其他源文件访问。
静态全局变量的定义方式为在函数外部使用 "static" 关键字修饰变量名。例如:
```c
static int count = 0;
```
在上述代码中,变量 "count" 被声明为静态全局变量,并初始化为0。该变量可以在定义它的源文件中的任何函数中访问,但不能被其他源文件中的函数直接访问。
静态全局变量的特点包括:
- 作用域仅限于定义它的源文件,对其他源文件是不可见的。
- 生命周期与程序运行周期相同,在程序启动时创建,在程序结束时销毁。
- 不同于普通全局变量,静态全局变量不会被其他源文件中具有相同名称的全局变量所覆盖。
使用静态全局变量可以实现一些需要在单个源文件中共享数据的功能,同时避免了命名冲突和不必要的全局命名空间污染。然而,需要注意的是,滥用静态全局变量可能导致程序的可读性和可维护性下降,因此应谨慎使用。
阅读全文