C语言中的static关键字有什么特殊用途?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2155个文字,预计阅读时间需要9分钟。
一、静态变量与C语言
C语言中,可以使用`static`关键字来声明静态变量。静态变量具有以下特点:
1. 自动变量:静态变量在函数或代码块执行完成后,其值会保留,而不是像自动变量那样在每次函数调用或代码块执行时重新初始化。
2. 作用域:静态变量的作用域与其声明的位置有关。在函数内部声明的静态变量,其作用域仅限于该函数;在全局范围内声明的静态变量,其作用域为整个程序。
3. 类型:静态变量可以是全局的或局部的。
静态全局变量
静态全局变量在全局范围内声明,并使用`static`关键字。其特点是:
- 初始化:静态全局变量在程序开始时初始化,并在程序结束时释放。- 作用域:静态全局变量的作用域为整个程序,但只能在其声明的文件内部访问。
静态局部变量
静态局部变量在函数或代码块内部声明,并使用`static`关键字。其特点是:
- 初始化:静态局部变量在每次函数调用或代码块执行时都会初始化。- 作用域:静态局部变量的作用域仅限于其声明的函数或代码块。
举例
c#include
static int global_var=10; // 静态全局变量
void func() { static int local_var=5; // 静态局部变量 printf(Global: %d, Local: %d\n, global_var, local_var);}
int main() { func(); return 0;}
输出结果为:
Global: 10, Local: 5
一、静态变量
与C语言一样,可以使用static说明自动变量。
本文共计2155个文字,预计阅读时间需要9分钟。
一、静态变量与C语言
C语言中,可以使用`static`关键字来声明静态变量。静态变量具有以下特点:
1. 自动变量:静态变量在函数或代码块执行完成后,其值会保留,而不是像自动变量那样在每次函数调用或代码块执行时重新初始化。
2. 作用域:静态变量的作用域与其声明的位置有关。在函数内部声明的静态变量,其作用域仅限于该函数;在全局范围内声明的静态变量,其作用域为整个程序。
3. 类型:静态变量可以是全局的或局部的。
静态全局变量
静态全局变量在全局范围内声明,并使用`static`关键字。其特点是:
- 初始化:静态全局变量在程序开始时初始化,并在程序结束时释放。- 作用域:静态全局变量的作用域为整个程序,但只能在其声明的文件内部访问。
静态局部变量
静态局部变量在函数或代码块内部声明,并使用`static`关键字。其特点是:
- 初始化:静态局部变量在每次函数调用或代码块执行时都会初始化。- 作用域:静态局部变量的作用域仅限于其声明的函数或代码块。
举例
c#include
static int global_var=10; // 静态全局变量
void func() { static int local_var=5; // 静态局部变量 printf(Global: %d, Local: %d\n, global_var, local_var);}
int main() { func(); return 0;}
输出结果为:
Global: 10, Local: 5
一、静态变量
与C语言一样,可以使用static说明自动变量。

