c 中的儲存型別

2021-08-22 17:20:39 字數 820 閱讀 6043

儲存型別是從變數的存在時間(即生存期)來劃分變數。變數的儲存型別可分為靜態儲存方式和動態儲存方式。對於動態儲存變數,當程式執行到該變數處時才為其分配儲存空間,當程式執行到該變數所在作用域的結束處時自動收回為其分配的儲存空間,因此它的生存期為所在作用域。

在程式開始就執行就為其分配儲存空間,直到程式結束時,才收回變數的儲存空間,這種變數稱為靜態儲存空間,其生命週期為整個程式執行的過程。

在c++中,變數的儲存型別分為:自動型別,暫存器型別,靜態型別,外部型別。

1 自動型別auto

只能是區域性型別的變數。屬於動態儲存型別。

2靜態儲存變數 static

兩種,全域性變數和靜態型別變數 ,static,即在程式執行的過程中靜態變數始終是占用乙個儲存空間。

靜態變數只能在他的作用範圍內使用,使用區域性靜態變數是為了在下次呼叫該函式時,能使用上次呼叫後得到的該變數的值。

3 暫存器型別變數 register

動態分配方式,編譯器不為暫存器型別的變數分配記憶體空間,而是直接使用cpu的暫存器。以便提高對這類變數的訪問速度。主要用於控制迴圈次數等不需要長期儲存值得變數。

4 外部型別變數 extern

外部型別變數必須是全域性變數,在c++中,有兩種情況下需要使用外部型別變數,

(1)在同一源程式檔案中,當在全域性的定義之前使用該變數時,在使用前要對該變數進行外部型別變數宣告。

(2)當程式有多個檔案組成時,若在乙個原始檔中要引用在另乙個原始檔中定義的全域性變數,在引用前必須對所引用的變數進行外部宣告。

如果在某檔案中定義的全域性變數不想被其他檔案所呼叫,則必須將該變數宣告為靜態全域性變數,也就是說,靜態全域性變數只能供所在的檔案使用。

C 儲存型別

儲存型別定義了變數或函式的作用範圍及生命週期。這些說明符也宣告了他們的修改方式的型別。有如下幾種儲存型別 auto register static extern mutable auto儲存型別是所有區域性變數的預設儲存型別。上面的例子中定義了兩個相同儲存型別的變數,auto 僅能運用於函式內的區域...

C 儲存型別

儲存型別和作用域 生存期限 鏈結型別有著千絲萬縷的聯絡。儲存型別一共有四種 extern static 為兩個永久儲存型別 auto register 為兩個臨時儲存型別 只有變數才有臨時生存期限 預設的全域性變數和全域性函式為extern儲存型別 顯示的宣告全域性變數和全域性函式使其具有stati...

c 變數的儲存型別

儲存型別是對於變數而言的。一方面,它可以反映變數的儲存空間的位置,另一方面它可以反映變數的生存期。c 的儲存型別有四種,自動型別 靜態型別,暫存器型別和外部型別。其格式如下 儲存型別 資料型別 變數名 1.自動型別 示例 auto int x 特點 1.採用動態分配方式,在棧區分配空間。當超出作用域...