C 儲存類有感

2022-08-25 17:39:26 字數 1264 閱讀 7125

#include int main()

}return 0;

}

執行結果如圖所示

執行結果如圖所示

由結果可見,static定義的變數,在函式重新呼叫的時候,並不會重新初始化,而是保留上一次的值

#include int main()

}return 0;

}

執行結果如圖所示

register 儲存類用於定義儲存在暫存器中而不是 ram 中的區域性變數。這意味著變數的最大尺寸等於暫存器的大小(通常是乙個詞),且不能對它應用一元的 '&' 運算子(因為它沒有記憶體位置)。

暫存器只用於需要快速訪問的變數,比如計數器。還應注意的是,定義 'register' 並不意味著變數將被儲存在暫存器中,它意味著變數可能儲存在暫存器中,這取決於硬體和實現的限制。

extern 儲存類用於提供乙個全域性變數的引用,全域性變數對所有的程式檔案都是可見的。當您使用 extern 時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。

當您有多個檔案且定義了乙個可以在其他檔案中使用的全域性變數或函式時,可以在其他檔案中使用 extern 來得到已定義的變數或函式的引用。可以這麼理解,extern 是用來在另乙個檔案中宣告乙個全域性變數或函式。

extern 修飾符通常用於當有兩個或多個檔案共享相同的全域性變數或函式的時候,如下所示:

第乙個檔案:main.c

#include int count ;

extern void write_extern();

int main()

第二個檔案:support.c

#include extern int count;

void write_extern(void)

c中儲存類

c中的變數可以按三個標準進行劃分 1 作用域 檔案作用域 又稱全域性作用域 快作用域 函式的區域性變數,函式中宣告的變數 函式原型作用域 函式作用域 c語言中僅對goto語句的符號 2 鏈結 空鏈結 區域性變數就是空鏈結 外部鏈結 內部鏈結 使用static關鍵字修飾 3 儲存週期 靜態儲存週期 變...

C 的儲存類

儲存類定義 c 程式中變數 函式的範圍 可見性 和生命週期。這些說明符放置在它們所修飾的型別之前。下面列出 c 程式中可用的儲存類 從 c 11 開始,auto 關鍵字不再是 c 儲存類說明符,且 register 關鍵字被棄用。自 c 11 以來,auto關鍵字用於兩種情況 宣告變數時根據初始化表...

C語言儲存類

好久沒有寫過文章,今天閒來無事,就寫一篇文章解解悶,如有不到之處,請諒解。而今天談到的內容呢?就是c語言儲存類。1 儲存類有哪幾種?自動 auto 靜待 static 暫存器 register 外部 extern 四大類。2 什麼是自動 auto 舉個栗子 auto int a,而a呢?就是儲存方式...