c语言static关键字用法
时间: 2024-09-04 07:00:25 浏览: 61
C语言extern关键字用法和理解
5星 · 资源好评率100%
在C语言中,`static`关键字可以用来修改变量或函数的存储类别,具有不同的含义和用途:
1. 对于局部变量:使用`static`修饰局部变量时,该变量的生命周期将不再局限于函数调用的生命周期,而是从程序开始执行时一直存在到程序结束。此外,`static`局部变量的值在函数调用之间是持久保存的,不会在每次函数调用时重置。但是,这样的变量只对它所在的函数可见,也就是说它的作用域是局部的。
2. 对于全局变量和函数:使用`static`关键字可以限制变量或函数的作用域,使其仅在声明它们的文件内部可见。这可以避免全局变量和函数之间的命名冲突,并且增加了封装性。
下面是一个使用`static`关键字的示例:
```c
#include <stdio.h>
// 全局变量,只在本文件内部可见
static int fileVar = 5;
// 函数,只在本文件内部可见
static void privateFunction() {
printf("这是一个私有函数。\n");
}
void publicFunction() {
static int counter = 0; // 静态局部变量,函数调用之间保持状态
counter++;
printf("函数被调用了 %d 次。\n", counter);
}
int main() {
privateFunction(); // 无法在其他文件中调用,因为它是static的
publicFunction(); // 可以在其他文件中调用,但counter的值将保持
return 0;
}
```
阅读全文