資料的儲存類別

2021-07-31 15:28:39 字數 594 閱讀 4426

對乙個資料的定義,需要指定兩種屬性:資料型別儲存類別,分別使用兩個關鍵字。例如:

static

int a;//靜態區域性整型變數或靜態外部整型變數

auto

char c;//自動變數,在函式內定義

register

int d;、、暫存器變數,在函式內定義

此外,可以用extern宣告已定義的外部變數,例如:

extern b;//將已定義的外部變數b的作用域擴充套件至此
下面從不同角度對資料的儲存類別作一歸納:

從作用域角度分,有區域性變數全域性變數。它們取樣的儲存類別如下:

全域性變數

從變數存在的時間(生存期)來區分,有動態儲存和靜態儲存兩種型別。靜態儲存是程式整個執行都存在,而動態儲存則是在呼叫函式是臨時分配單元。

靜態儲存

從變數值存放的位置來區分,可分為:

記憶體中動態儲存區:自動變數和形式引數

cpu中的暫存器:暫存器變數

變數的儲存類別

從變數的作用域來分,變數可以分為全域性變數和區域性變數。在乙個函式內部定義的變數是區域性變數,它只是在本函式範圍內有效,在此函式外不能使用這些變數的。全域性變數可以供所有函式共用,它的有效範圍為從定義變數的位置開始到本原始檔結束。全域性變數的優點是 可以減少函式實參和形參的個數,從而減少記憶體空間以...

變數的儲存類別

儲存類別 是指資料在記憶體中的儲存方式 1 供使用者使用的儲存空間 程式區靜態儲存區 編譯時候分配空間,程式結束釋放空間。存放全域性變數 動態儲存區 定義時動態分配空間,對應函式完成時就釋放空間,再呼叫時又重新動態分配空間。存放auto型別區域性變數 2 儲存型別 auto,static,regis...

變數的儲存類別

普通區域性變數 自動變數 在乙個函式內定義,只在函式範圍內有效。在復合語句中定義,只在符合語句中有效。隨著函式呼叫的結束或復合語句的結束而消亡。如果沒有賦初值,則內容為隨機值。2.靜態區域性變數static 作用域 定義的函式內有效。生命週期 在定義的整個週期,靜態區域性變數始終從在著,即使退出函式...