7 5 變數的生命週期

2021-10-25 00:26:53 字數 566 閱讀 6981

(1)研究變數的生命週期,有助於理解變數的行為特徵。

注意:單獨來看某乙個知識點是沒有什麼意義的,但是將很多的知識點綜合起來,就有意義了。所以有了一定的基礎之後去做專案是乙個很好的提高的方式,通過專案去學習這其中涉及到的各種知識點,又可以了解這些知識點在專案中是如何使用的,所以做專案時,一定要多去查閱資料,多去總結歸納,對不懂的知識點拆開來乙個乙個認真去研究。最後綜合到專案裡面來綜合起來學習。

(1)區域性變數(棧變數)儲存在棧上,生命週期是臨時的。臨時的意思就是說:**執行過程中按照需要去建立、使用、消亡的。

(2)譬如乙個函式內定義的區域性變數,在這個函式每一次呼叫時都會建立一次,然後使用,最後在函式返回的時候消亡。

(3)思考:乙個函式內的區域性變數為什麼在函式外不能使用?

(4)思考:區域性變數為什麼分配在棧上?或者說區域性變數為什麼是臨時生命週期?

(1)首先要明白:堆記憶體空間是客觀存在的,是由作業系統維護的。我們程式只是去申請然後使用然後釋放。

(2)我們只關心我們程式使用堆記憶體的這一段時間,因此堆變數也有了自己的生命週期,就是:從malloc申請時誕生,然後使用,直到free時消亡。

變數的生命週期

from 今天在論壇上看到有朋友發帖問道 既然靜態全域性變數與全域性變數都儲存在全域性資料區,為什麼作用域卻不一樣呢?也許答案非常簡單 c 就是這麼規定的,靜態全域性變數與全域性變數的唯一區別就是作用域不同。對乙個c 變數來說,有兩個屬性非常重要 作用域和生命週期,它們從兩個不同的維度描述了乙個變數...

變數的生命週期

1 全域性變數 作用域 全域性作用域 只需要在乙個原始檔中定義,就可以作用於所有的原始檔 生命週期 程式執行期一直存在 記憶體分布 全域性 靜態儲存區 注意 如果再兩個檔案中都定義了相同名字的全域性變數,則連線錯誤 變數重定義。2 全域性靜態變數 生命週期 程式執行期一直存在 作用域 檔案作用域 只...

switch case 變數生命週期

case 2 新增圖書 system.out.println n圖書資訊列表 system.out.print 請輸入新增圖書名稱 string name input.next 是否能新增圖書,如果貨架滿了 6 則無法新增false能新增true boolean flagadd false for ...