C语言中静态变量的特点有以下几点:
1. 静态变量的作用域仅限于定义它的函数内部,但是其在函数调用结束后仍然存在,保留其值,下次调用时仍然可以使用。
2. 静态变量的生存期从程序开始运行到程序结束,即使在函数调用结束后仍然存在。
3. 静态变量在程序的整个运行过程中只分配一次内存空间,而不是每次函数调用时都重新分配。
4. 静态变量的初始化只会执行一次,在第一次进入定义它的函数时进行初始化,以后每次进入函数时都不会再进行初始化。
5. 静态变量默认初始化为0,如果在定义时进行了显式初始化,则以显式初始化的值为准。
6. 静态变量对于函数外部的其他函数是不可见的,即使定义了相同名称的局部变量,也不会发生冲突。
7. 多个函数中定义了同名的静态变量,它们实际上是不同的变量,互相独立,各自保存各自的值。