第8章 函式 七)戲說變數的生存期

2021-08-23 13:41:05 字數 1169 閱讀 6927

角色可以在某特定的時刻建立,或在劇情不再需要時被刪除。建立和刪除之間所經過的時間,我們不妨稱為角色的生存期。角色只有在生存期中才被分配(占用)舞台或銀幕,這意味著,只要角色存在,角色的扮演者就存在,除非導演使用手段更新了角色的扮演者。當角色被刪除之後,他在舞台或銀屏上的位置就空閒出來了,供在建立其他角色時再次使用,這保證了舞台或銀屏的有效使用。

我的理解中,角色可以具有3種生存期中的一種:

·靜態生存期:只要劇情開始,這種生存期的角色就在舞台或銀屏上出現,直到整個劇本結束,這種角色的生存期和劇本的演出期相同.這種角色就是主角.

·區域性生存期:這種角色的生存期開始於劇本的某一集或某段故事的開始處,而結束於本集尾或本段故事尾.

·動態生存期:這種角色可以隨時建立,隨時刪除,比如一些群眾演員.

如果說程式是乙個劇本,那麼程式開始執行就是劇本開始演出了。作為角色,變數開始在舞台上出現,那麼這裡的舞台是什麼呢?是記憶體!程式是在記憶體中執行,在執行的過程中,變數在記憶體中表演著,他的一切舉動和變化,由程式設計師寫的程式語句決定.

好,程式是劇本,變數是角色,記憶體是舞台,接下來的描述,你可以和最前面2段的內容對比著看,以便理解!

變數可以在某特定的時刻被建立,或在不再需要時被刪除.在建立和刪除之間所經過的時間,被稱為變數的生存期。變數只有在生存期中才被分配(占用)記憶體,這意味著,只要變數存在著,在變數中儲存的值就存在(不會丟失),除非程式設計師使用操作更新了變數的值。當變數被刪除之後,他所占用的記憶體單元被標記為空閒,供在建立其他變數時再次使用,這保證了記憶體空間的有效使用。

標準c中,變數可以具有3種生存期中的一種:

·靜態生存期:只要程式開始執行,這種生存期的變數就被分配了記憶體,這種變數的生存期和程式的執行期相同.

·區域性生存期:這種變數的生存期開始於程式執行經過其宣告點時,而結束於命名它的識別符號所在的作用域尾.

·動態生存期:這種變數可以隨時建立,隨時刪除,建立和刪除是程式設計師用記憶體操作函式進行的;迄今為止,我們還沒有使用過這種變數.

我們看到,作為程式執行中的角色.變數也有靜態生存期,區域性生存期,動態生存期的概念.c中的變數:extern和static是靜態生存期,auto是區域性生存期,而對於標準c程式設計師,可以用記憶體操作函式建立和刪除動態生存期的變數.

由於儲存類和生存期的概念相對抽象,同時和其他知識點聯絡頗多,對於初學者無必要深究.因此,我採用戲說的形式,讓你有個粗略的了解,暫時就不做過多的解釋了.

變數的生存期

標籤 空格分隔 c 雙學位高階語言程式設計 c函式 這節課我們要學習以下幾個問題 編譯器是如何區分不同作用域中的同名變數的呢?編譯器將它們分配給了不同的位址,所以能夠區分。程式執行時,編譯器是如何為程式分配記憶體空間的呢?儲存區分類 記憶體資料分類 線性從上到下 記憶體低位址端 唯讀儲存區 區唯讀儲...

變數的儲存方式和生存期

靜態儲存方式和動態儲存方式 靜態儲存方式是指在程式執行期間由系統分配固定的儲存空間的方式。動態儲存方式是在程式運氣期間根據需要進行動態的分配儲存空間的方式。記憶體中供使用者使用的儲存空間分為三個部分 1 程式區 2 靜態儲存區 3 動態儲存區。c的儲存型別包括四種 自動的 auto 靜態的 stat...

變數的儲存方式和生存期

一 儲存空間的情況 使用者區程式區 靜態儲存區 動態儲存區 靜態儲存方式 在程式執行期間由系統分配固定的儲存空間的方式。動態儲存方式 在程式執行期間根據需要進行動態的分配儲存空間的方式。二 資料儲存位置 靜態儲存區 全域性變數全部存放在靜態儲存區。動態儲存區 1 函式形式引數。2 函式中定義的沒有用...