C語言中靜態變量的特點有以下幾點:
靜態變量的作用域僅限于定義它的函數內部,但是其在函數調用結束后仍然存在,保留其值,下次調用時仍然可以使用。
靜態變量的生存期從程序開始運行到程序結束,即使在函數調用結束后仍然存在。
靜態變量在程序的整個運行過程中只分配一次內存空間,而不是每次函數調用時都重新分配。
靜態變量的初始化只會執行一次,在第一次進入定義它的函數時進行初始化,以后每次進入函數時都不會再進行初始化。
靜態變量默認初始化為0,如果在定義時進行了顯式初始化,則以顯式初始化的值為準。
靜態變量對于函數外部的其他函數是不可見的,即使定義了相同名稱的局部變量,也不會發生沖突。
多個函數中定義了同名的靜態變量,它們實際上是不同的變量,互相獨立,各自保存各自的值。