在C語言中,靜態局部變量是指在函數內部定義的變量,但其作用范圍僅限于定義它的函數,且在整個程序的執行過程中,該變量的內存空間都存在。靜態局部變量使用關鍵字"static"來進行定義。
靜態局部變量的定義格式如下:
static 數據類型 變量名;
以下是一個靜態局部變量的示例:
#include <stdio.h>
void function(){
static int count = 0;
count++;
printf("count: %d\n", count);
}
int main(){
function(); // count: 1
function(); // count: 2
function(); // count: 3
return 0;
}
在上述示例中,函數function()
中定義了一個靜態局部變量count
,并將其初始值設為0。每次調用function()
時,靜態局部變量count
的值都會自增,并通過printf
打印出來。由于靜態局部變量的作用范圍僅限于函數function()
,所以每次調用function()
時,靜態局部變量count
的值都能夠保留,不會被重置為初始值。