static的用法

一、定義全局靜態變量的好處:

<1>不會被其他文件所訪問,修改

<2>其他文件中可以使用相同名字的變量,不會發生衝突。


2. 局部靜態變量

在局部變量之前加上關鍵字static,局部變量就被定義成爲一個局部靜態變量。

  1. 內存中的位置:靜態存儲區(數據段)

  2. 初始化:未經初始化的全局靜態變量會被程序自動初始化爲0(自動對象的值是任意的,除非他被顯示初始化)

  3. 作用域:作用域仍爲局部作用域,當定義它的函數或者語句塊結束的時候,作用域隨之結束。

注:當static用來修飾局部變量的時候,它就改變了局部變量的存儲位置,從原來的棧中存放改爲靜態存儲區。但是局部靜態變量在離開作用域之後,並沒有被銷燬,而是仍然駐留在內存當中,直到程序結束,只不過我們不能再對他進行訪問。

      當static用來修飾全局變量的時候,它就改變了全局變量的作用域(在聲明他的文件之外是不可見的),但是沒有改變它的存放位置,還是在靜態存儲區。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章