C语言中的静态变量具有以下特点:
1. 生命周期长:静态变量在程序运行期间始终存在,不会随着函数的调用而销毁。它们的值在函数调用之间保持不变。
2. 作用域局限:静态变量的作用域仅限于声明它的函数内部,外部函数无法访问。在函数被调用时,静态变量会被分配内存空间,在函数调用结束后,内存空间不会释放。
3. 初始值仅赋值一次:静态变量只在第一次进入函数时被赋值,并且一直保持该值直到程序结束。
4. 存储在静态存储区:静态变量的存储单元在程序运行期间一直存在于静态存储区,而不是在栈上分配。静态存储区是在程序运行前被分配的,也是最后被释放的。
总而言之,静态变量具有长生命周期、局部作用域、初始值只赋值一次以及存储在静态存储区等特点。