C语言中的static变量具有以下特点:
生命周期:static变量的生命周期与程序的运行周期相同,即在程序运行期间一直存在,而不是在函数调用结束后被销毁。
作用域:static变量的作用域仅限于声明该变量的函数内部,在函数外部无法访问。这意味着static变量对其他函数是隐藏的,可以用于实现函数内部的私有变量。
初始化:static变量在第一次声明时会被自动初始化为零或者空值,之后每次函数调用都会保留上一次调用结束时的值。
存储位置:static变量存储在静态数据区,而不是栈或者堆中。静态数据区的变量在程序运行期间一直存在,不会随着函数调用的结束而被销毁。