在C语言中,静态变量的生命周期与程序的运行周期相同,即在程序启动时创建,在程序结束时销毁。静态变量在程序的整个运行过程中都存在,并且只会被初始化一次,即使在函数内部声明的静态变量也是如此。
静态变量可以分为两种类型:静态全局变量和静态局部变量。静态全局变量在程序启动时被初始化,只能在声明它的源文件中访问,不同的源文件无法直接访问静态全局变量。而静态局部变量只能在声明它的函数内部访问,但与普通局部变量不同的是,静态局部变量的值在函数调用结束后并不会被销毁,而是会保留其值直到程序结束。
总之,静态变量的生命周期在整个程序的运行过程中,并且具有静态存储期,不会随着函数调用的结束而被销毁。