C 關鍵字 儲存說明符

2021-07-09 16:08:01 字數 1027 閱讀 9296

在寫程式的時候經常會遇到extern、static等儲存關鍵字,對它們的用法區別一直不是很清晰,所以結合c++ primer plus 和effictive c++的一些說明,重新複習了一遍,下面詳細說明一下這些關鍵字的定義與使用:

儲存說明符主要有:auto、register、static、extern、mutable五個。

auto:宣告乙個變數為自動變數,一般我們定義的分配在棧中的變數為自動變數,auto是預設狀態下就有的,一般很少見到,如:

int main()

register:在宣告中指示暫存器儲存型別。稱為暫存器變數,是另一種形式的自動變數,主要功能為使得編譯器通過cpu的暫存器而不是堆疊來處裡變數,因為cpu訪問暫存器中值的速度比訪問堆疊中的記憶體要快。

int main()

static:這個關鍵字很熟悉,表示變數為靜態變數。但是在不同地方宣告,變數作用於和鏈結性是不一樣的。

...

int g_nvalue = 10; //具有外部鏈結性,其他檔案可以訪問

int main()

void function(int n)

extern:表示引用宣告,就是宣告引用在其他地方定義的變數。通過這個關鍵字,不同檔案之間可以相互通訊。

#include using namespace std;

int g_nvalue = 10;

void update(int nv);

void local();

int main()

;const data temp=;

temp.count++; //允許修改

strcpy(temp.name,"helloname"); //不允許,錯誤

至此對於儲存型關鍵字解釋完畢,希望以後能夠分辨清楚

C語言 儲存類說明符

一 儲存類有關c語言的儲存類,推薦的參考資料 c primer plus,其中有一章專門講解這個 在理解c的儲存類之前,首先要搞懂的概念有 作用域 生存週期 連線屬性c中的儲存類說明符實際上是上述屬性的不同組合 作用域 乙個c變數的作用域可以是 塊作用域 在函式內部 塊中定義的變數 形參,稱為 區域...

C語言 關鍵字說明

1資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int 宣告整型變數或函式 6 long 宣告長整型變數或函式 7 short 宣告短整型變數或函式 8 signed 宣告有符...

C語言之儲存類說明符

作用域 鏈結屬性 儲存時期 儲存型別內容請先參考博文 c語言有5中儲存型別修飾符 autoregisterstaticexterntypedef 下面分別介紹各說明符的用法 extern 表明識別符號具有外部鏈結屬性或者該變數在別處定義 想要理解extern的用法首先要理解c語言的宣告與定義的區別 ...