C 的儲存裝置類別
「 儲存體類別 」 的變數會決定項目是否有 「 全域 」 或 「 本機 」 的存留期。 C 呼叫這些兩個的存留期,「 靜態 」 及 「 自動 」。 通用的存留期的項目存在,而且該程式的執行過程中的值。 所有函式具有通用的存留期。
自動變數] 或 [使用本機的存留時間的變數會配置新的存放裝置的時間執行的每個控制項傳遞至區塊中所定義。 執行傳回時,變數不能再有意義的值。
C 會提供下列的儲存類別規範:
語法
儲存類別規範:
自動暫存器
static
extern
typedef
__declspec ( 延伸-decl-修飾詞為 seq ) / * Microsoft 特定 * /
除了__declspec,您可以使用只能有一個儲存類別規範在宣告規範在宣告中。 若您沒有儲存類別規格,在區塊內的宣告會建立自動的物件。
以宣告的項目自動 或 註冊規範具有本機的存留期。 以宣告的項目靜態或extern規範具有通用的存留期。
由於typedef和__declspec與其他四種語意上不同儲存類別規範終端機,它們會分別討論。 如需特定資訊typedef,請參閱 Typedef 宣告。 如需特定資訊__declspec,請參閱延伸的儲存類別屬性。
儲存類別和可見性,也會影響原始程式檔內的變數和函式宣告的位置。 所有的函式定義之外宣告就是指會出現在 「 外部級 」。 函式定義中的宣告出現在 「 內部級 」。
每一個儲存類別規範的確切的意義取決於兩個因素:
宣告是否出現在外部或內部的層級
是否要宣告的項目是變數或函式
外部層級宣告的儲存類別規範 和 內部層級宣告的儲存類別規範 說明 儲存類別規範 在每一種宣告中的終端機,並解釋的預設行為時 儲存類別規範變數中會省略。 使用函式宣告的儲存類別規範將告訴您使用函數的儲存類別規範。