C/C++語言中Static的作用詳述

  在C語言中, static的字面意思很容易把我們導入歧途, 其實它的作用有三條。   ??)先來介紹它的第一條也是最重要的一條:隱藏。   當我們同時編譯多個文件時, 所有未加static前綴的全局變量和函數都具有全局可見性。 我舉例來說明。 一個是a. c, 另一個是main. c的內容  順序的運行後果是:  你能夠會問:爲什麼在a. c中定義的全局變量a和函數msg能在main. 其它的源文件也能訪問。 此例中, 並且都沒有加static前綴, 因而關於另外的源文件main. c是可見的。 例如在a和msg的定義前加上static, main. c就看不到它們了。 而不用擔憂命名抵觸。 Static可以用作函數和變量的前綴, 關於函數來講, static的作用僅限於隱藏, 而關於變量, static還有下面兩個作用。 ?)static的第二個作用是保持變量內容的耐久。   存儲在靜態存儲區:全局變量和static變量, static可以控制變量的可見範圍, 雖然這種用法不罕見, 但我還是舉一個例子。 由於全局變量也存儲在靜態數據區。 我們可以一個一個地把所有元素都置0, 假設定義成靜態的, 再比如要把一個字符數組當字符串來用, 但又覺得每次在字符數組末尾加’\0’太麻煩。 假設把字符串定義成靜態的, 就省去了這個麻煩, 由於那裏原本就是’\0’。   順序的運行後果如下  最後對static的三條作用做一句話總結。 首先static的最主要功用是隱藏, 其次由於static變量寄存在靜態存儲區, 所以它具有耐久性和默認值0。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章