動態儲存方式和靜態儲存方式

2021-08-15 03:42:20 字數 921 閱讀 2824

從變數的作用域的角度來觀察,變數可以分為全域性變數和區域性變數;

從變數值存在的時間(即生存期)觀察,變數的儲存有兩種不同的方式:靜態儲存方式和動態儲存方式

使用者區程式區

靜態儲存區

動態儲存區

資料存放在靜態儲存區和動態儲存區;

靜態儲存區:

全域性變數全部儲存在靜態儲存區;

程式開始執行時給全域性變數分配儲存區,程式執行完畢就釋放。在程式執行過程中佔據固定的儲存單元

動態儲存區:

①函式形式引數

②函式中定義的沒有用關鍵字static宣告的變數

③函式呼叫時的現場保護和返回位址等存放在動態儲存區

函式呼叫開始時分配,函式結束時釋放。在程式執行過程中,這種分配和釋放是動態的

對於區域性變數來說,宣告儲存型別的作用是指定變數儲存的區域以及由此產生的生存期的問題,而對於全域性變數來說,宣告儲存型別的作用是變數作用域的擴充套件問題

每乙個變數和函式都有兩個屬性:

資料型別和資料的

儲存類別

儲存類別指的是資料在記憶體中儲存的方式(如靜態儲存和動態儲存)

儲存類別包括:

自動的、靜態的、暫存器的、外部的

根據變數的儲存類別,可以知道變數的作用域和生存期

1.自動變數(auto變數)

2.靜態區域性變數(static區域性變數)

用static 宣告乙個變數的作用是:

(1) 對區域性變數用static宣告,把它分配在靜態儲存區,該變數在整個程式執行期間不釋放,其所分配的空間始終存在。

(2) 對全域性變數用static宣告,則該變數的作用域只限於本檔案模組(即被宣告的檔案中)。

3. 暫存器變數(register變數)

4.外部變數

在乙個檔案內擴充套件外部變數的作用域

關於作用域和生存期的概念

動態儲存方式和靜態儲存方式

變數從存在的時間 生存期 角度來分,可以分為動態儲存方式和靜態儲存方式。所謂靜態儲存方式是指在程式執行開始時由系統分配固定的儲存空間的方式。動態儲存方式則是在程式執行期間根據需要進行動態的分配儲存空間的方式。儲存空間分為3部分 1 程式區 2 靜態儲存區 3 動態儲存區。在c語言中,每乙個變數和函式...

堆 棧 動態儲存方式 靜態儲存方式

動態儲存方式 所謂動態儲存方式是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼叫函式完畢立即釋放。如果乙個函式被多次呼叫...

堆 棧 動態儲存方式 靜態儲存方式

熱度 3 已有 358 次閱讀 2011 1 14 00 32 動態儲存方式 所謂動態儲存方式是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被...