C语言static变量
时间: 2024-09-13 13:00:48 浏览: 40
c语言中static的用法详细示例分析
在C语言中,`static` 关键字可以用于变量声明,有以下几种含义:
1. **静态局部变量**(作用域仅限于函数内部):当在函数内部使用`static`声明变量时,该变量只在其首次遇到的那次函数调用中初始化,并且在整个函数生命周期内保持其值不变,下次函数调用不会再次初始化。
```c
void func() {
static int count = 0; // 静态局部变量
count++;
}
```
2. **静态全局变量**(作用域贯穿整个程序):如果在函数外部声明为`static`,它将成为全局变量,但初始化仅在程序启动时进行一次。这意味着在所有源文件中,这个变量都有唯一的实例。
```c
static int globalCount;
```
3. **静态数组元素**:对于数组,每增加一级`static`,数组元素就变为全局范围,而不是所在的块(如函数体)。
```c
static int arr[10]; // 整个程序范围内可用的静态数组
```
4. **静态成员变量**(C++特性):在类中声明为`static`的成员变量属于整个类的对象共享,而非每个对象独立拥有。
使用`static`的关键在于理解它的存储生命周期和作用域,它有助于减少内存消耗并提高代码效率。
阅读全文