
地 址:上海市普陀66号
电 话:17392341080
网址:dsesh.com
邮 箱:64010368@qq.com
在C语言中,语言静静态变量(liang)(static variable)是态变一种在程(cheng)序运行期间保持其值的变量,与自动变量不同,量用静态变量在声明时分配内存,语言静并在程序的态变整个(ge)生命周期内保持其值,静态变量(liang)可以用于函数内部和外部。量用(图片来源网络,语言静侵删)
1. 函数内部的态变静态变量

在函数内部声明的静态变量只在该函数内部可(ke)见,但它(ta)的量用生命周期贯穿于整个程(cheng)序,这(zhe)意(yi)味着,语言静即使函数调用结束,态变静态变量的量用值也会保持不变,这在需要在(zai)函数调用之间保持状(zhuang)态的语言静情况下非常有用。

示例代码

#include <stdio.h>void func() { static int count = 0; count++; printf("Count: %d",态变 count);}int main() { func(); func(); func(); return 0;}输出结果
Count: 1Count: 2Count: 3
2. 函数外部的(de)静态变(bian)量
在函数外部声明的静态变量具有文件作用域,即它只在声明它的量(liang)用源文(wen)件中可(ke)见,这有助于隐藏实现细节,并防止全局命名空间污染。
示例代码
#include <stdio.h>static int global_counter = 0;void increment_global_counter() { global_counter++;}int main() { increment_global_counter(); printf("Global Counter: %d", global_counter); return 0;}输出结果
Global Counter: 1归纳
静态变量在C语言中提供了一种在程序运行期间保持其值的方法,它们可以用于函数内部或外(wai)部,以实现不同的功能,在函数内(nei)部使用时,静态变(bian)量可以在函数调用之间保持状态;在函数外部使用时,静态变(bian)量具有文件作(zuo)用域,有(you)助于隐藏实现细节。