Static的用法

一, 修飾函數(shù)

static修飾函數(shù)時(shí), 函數(shù)不能被外部文件訪問(wèn)
extern修飾函數(shù)時(shí), 函數(shù)可以被外部文件訪問(wèn)

二, 修飾全局變量
修飾全局變量, 變量不能被外部文件訪問(wèn), 本文件可以訪問(wèn)

三,
1)位置:靜態(tài)局部變量被編譯器放在全局存儲(chǔ)區(qū).data(注意:不在.bss段內(nèi),原因見(jiàn)3)),所以它雖然是局部的,但是在程序的整個(gè)生命周期中存在。

2)訪問(wèn)權(quán)限:靜態(tài)局部變量只能被其作用域內(nèi)的變量或函數(shù)訪問(wèn)。也就是說(shuō)雖然它會(huì)在程序的整個(gè)生命周期中存在,由于它是static的,它不能被其他的函數(shù)和源文件訪問(wèn)。

3)值:靜態(tài)局部變量如果沒(méi)有被用戶(hù)初始化,則會(huì)被編譯器自動(dòng)賦值為0,以后每次調(diào)用靜態(tài)局部變量的時(shí)候都用上次調(diào)用后的值。這個(gè)比較好理解,每次函數(shù)調(diào)用靜態(tài)局部變量的時(shí)候都修改它然后離開(kāi),下次讀的時(shí)候從全局存儲(chǔ)區(qū)讀出的靜態(tài)局部變量就是上次修改后的值。
以下是一些示例程序:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容