在C語言中,靜態變量的生命周期與程序的運行周期相同,即在程序啟動時創建,在程序結束時銷毀。靜態變量在程序的整個運行過程中都存在,并且只會被初始化一次,即使在函數內部聲明的靜態變量也是如此。
靜態變量可以分為兩種類型:靜態全局變量和靜態局部變量。靜態全局變量在程序啟動時被初始化,只能在聲明它的源文件中訪問,不同的源文件無法直接訪問靜態全局變量。而靜態局部變量只能在聲明它的函數內部訪問,但與普通局部變量不同的是,靜態局部變量的值在函數調用結束后并不會被銷毀,而是會保留其值直到程序結束。
總之,靜態變量的生命周期在整個程序的運行過程中,并且具有靜態存儲期,不會隨著函數調用的結束而被銷毀。