在C語言中,static
關(guān)鍵字用于聲明一個變量或函數(shù),使其具有靜態(tài)存儲期
void function() {
static int local_static_var = 0;
// ...
}
static int global_static_var = 0;
void function() {
// ...
}
static
關(guān)鍵字修飾的函數(shù)。它們的生命周期貫穿整個程序執(zhí)行期間,但它們的作用域局限于定義它們的源文件。靜態(tài)函數(shù)只能在定義它們的源文件中被調(diào)用,其他源文件無法訪問。靜態(tài)函數(shù)的代碼存儲在代碼段中。static void static_function() {
// ...
}
void function() {
// ...
}
總結(jié):在C語言中,static
關(guān)鍵字用于控制變量和函數(shù)的生命周期和作用域。靜態(tài)變量和靜態(tài)函數(shù)的內(nèi)存分配在靜態(tài)存儲區(qū),而局部靜態(tài)變量在棧上分配內(nèi)存。靜態(tài)變量和靜態(tài)函數(shù)的初始化發(fā)生在程序啟動時。