c语言中静态局部变量和全局变量
时间: 2024-06-14 07:04:44 浏览: 122
静态局部变量和全局变量是C语言中的两种不同类型的变量。
1. 静态局部变量:
静态局部变量是在函数内部定义的变量,但是它的作用域只限于定义它的函数。静态局部变量在函数调用结束后仍然保持其值,直到下一次调用该函数时才会被重新初始化。静态局部变量使用关键字`static`进行声明。
```c
#include <stdio.h>
void func() {
static int count = 0; // 静态局部变量
count++;
printf("Count: %d\n", count);
}
int main() {
func(); // 输出:Count: 1
func(); // 输出:Count: 2
func(); // 输出:Count: 3
return 0;
}
```
2. 全局变量:
全局变量是在函数外部定义的变量,它的作用域从定义处开始一直到文件结束。全局变量在整个程序中都是可见的,可以被任何函数访问和修改。全局变量的值在程序的整个生命周期内保持不变,除非被显式地修改。
```c
#include <stdio.h>
int count = 0; // 全局变量
void func() {
count++;
printf("Count: %d\n", count);
}
int main() {
func(); // 输出:Count: 1
func(); // 输出:Count: 2
func(); // 输出:Count: 3
return 0;
}
```
阅读全文