作用一:隱藏
作為變量和函數(shù)的前綴
使作用的變量或函數(shù)對(duì)其他源文件起到隱藏、避免命名沖突的作用。
作用二:完成一次初始化
作為函數(shù)內(nèi)局部變量的前綴
1、與全局變量相同,都位于靜態(tài)數(shù)據(jù)區(qū)中,不同的是:該變量全局不可見(jiàn),出了函數(shù),外部看不到。
2、使該變量只進(jìn)行一次初始化,并且在函數(shù)執(zhí)行完畢后,仍然存儲(chǔ)該變量的值。
例如:
#include
int count(){
static int count = 10;
//變量count只被初始化一次,值為10
return count--;
//接下來(lái),每次調(diào)用一次count(),count值會(huì)自減1,并且保存最后一次的值,即使函數(shù)執(zhí)行完畢,該值仍舊存儲(chǔ)在函數(shù)內(nèi),只不過(guò)外部無(wú)法訪問(wèn)罷了。
}
int main(void)
{
for(int i=0 ;i < 5; ++i)
printf("%d\n", count());
return 0;
}