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。數組

相關文章
相關標籤/搜索