C语言中怎么定义和使用静态变量
时间: 2023-09-21 17:07:53 浏览: 113
C#中静态变量的使用
5星 · 资源好评率100%
在C语言中,可以使用关键字 `static` 来定义静态变量。静态变量的作用域同样是整个程序,但是只能够在定义该变量的函数内部访问,不能被其他函数访问。
定义静态变量需要遵循以下规则:
1. 在函数内部定义变量,并在变量名前加上关键字 `static`。
2. 静态变量的作用域只限于定义该变量的函数内部。
3. 静态变量的值在函数调用之间保持不变。
下面是一个例子:
```c
#include <stdio.h>
void function()
{
static int static_variable = 10; // 静态变量
printf("static_variable in function is %d\n", static_variable);
static_variable++;
}
int main()
{
function();
function();
function();
return 0;
}
```
在这个例子中,我们定义了一个静态变量 `static_variable`,并在 `function` 函数中使用该变量。在 `main` 函数中调用 `function` 函数三次。运行程序后,输出结果如下:
```
static_variable in function is 10
static_variable in function is 11
static_variable in function is 12
```
可以看到,静态变量的值在函数调用之间保持不变,每次调用 `function` 函数时,静态变量的值都会增加1。
静态变量通常用于需要在函数调用之间保持状态的情况,比如记录函数调用次数或实现一个计数器。但是,静态变量的作用域限制在函数内部,不能被其他函数访问,因此需要根据具体情况选择使用全局变量还是静态变量。
阅读全文