在C语言中,静态数组的生命周期取决于它是如何定义的。静态数组可以在全局范围内定义,也可以在函数内部定义。
在全局范围内定义的静态数组:静态数组在全局范围内定义时,其生命周期为整个程序运行期间。它在程序启动时分配内存,在程序结束时释放内存。静态数组在全局范围内定义时初始化,如果没有显式初始化,则默认初始化为0。int globalArray[10]; // 全局范围内定义的静态数组在函数内部定义的静态数组:静态数组在函数内部定义时,其生命周期为整个程序运行期间,但是作用域仅限于该函数内部。静态数组在函数第一次被调用时分配内存,在程序结束时释放内存。静态数组在函数内部定义时初始化,如果没有显式初始化,则默认初始化为0。void foo(){ static int localArray[5]; // 函数内部定义的静态数组}总的来说,静态数组的生命周期为整个程序运行期间,但是作用域不同。在全局范围内定义的静态数组作用域为整个程序,而在函数内部定义的静态数组作用域仅限于该函数。


