55,成員變數,全域性變數與區域性變數的區別

2021-07-08 15:08:46 字數 460 閱讀 6004

1,成員變數

寫在類宣告的大括號中的變數,稱為成員變數(屬性,例項變數)

成員變數只能通過物件來訪問

成員變數不能在定義的同時初始化

注意:成員變數不能離開類,離開類後就不是成員變數

儲存:堆(當前物件對應的堆的儲存空間)

儲存在堆的資料,不會被自動釋放,只能程式設計師手動釋放。

2,全域性變數

寫在函式外面的變數,成為全域性變數

作用域:從定義的那一行開始,一直到檔案末尾

全域性變數可以先定義再初始化,也可以定義同時初始化

儲存:靜態區

程式一啟動就會分配儲存空間,直到程式結束才會釋放

3,區域性變數

寫在函式裡面的變數,成為區域性變數

作用域:從定義的那一行開始,到所在函式結束

區域性變數可以先定義再初始化,也可以定義同時初始化

儲存:棧

系統會自動釋放記憶體

區域性變數和成員變數 全域性變數

區域性變數可以與全域性變數重名,但是區域性變數會遮蔽全域性變數。要使用全域性變數,需要使用 在函式體內引用變數會用到同名的區域性變數而不是全域性變數,對於一些編譯器來說,在同乙個函式體內可以定義多個同名的區域性變數。例如我們可以在乙個函式內部,在兩個迴圈中都定義同名的區域性變數i,而區域性變數i的作...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。這句話應該錯了,應該是放在常量資料段 全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用在定義它的那個檔案裡,卻不能用在程式中...