C語言5種儲存型別

2021-09-29 10:02:25 字數 643 閱讀 9868

1.自動變數

預設情況下,在**塊或函式的頭部定義的任意變數都屬於自動儲存類。

自動儲存時期意味著程式在進入包含變數宣告的**塊時,變數開始存在。當程式離開這個**塊時,自動變數消失了。

初始化,除非手動初始化,否則不會被自動初始化。

2.暫存器變數

通常,變數儲存在計算機記憶體中。幸運的話可以儲存在cpu暫存器中,或者跟一般的,儲存在速度最快的可用記憶體中,從而可以比普通變數更快的訪問。但是你申請暫存器變數,系統在權衡後,可能不會允許。

宣告乙個變數為暫存器變數只需要加register就可以了。

3.具有**塊作用域的靜態變數

靜態變數(static variable)。這些變數和自動變數具有相同的作用域,但當包含這些變數的函式完成工作時,他們並不消失。

注意:對函式內的參量不能使用static定義。

4.具有外部鏈結的靜態變數

external variable 把變數的定義放在所有函式之外,建立了乙個外部變數。為了使程式更加清晰,可以在使用外部變數的函式中通過使用extern關鍵字來再次宣告他,如果是在別的檔案中宣告的,那extern就是必須的。

5.具有內部鏈結的靜態變數

這個與全域性變數的區別在於宣告時需要加上static關鍵字,同時無法被其他檔案使用.自動初始化為0.

儲存型別 總結C語言的五種儲存型別

記憶體用於儲存程式中的資料,由儲存期 作用域和鏈結表徵。儲存期可以是靜態的 自動的或動態分配的。如果是靜態儲存期,在程式開始執行時分配記憶體,並在程式執行時都存在。如果是自動儲存期,在程式進入變數定義所在塊時分配變數的記憶體,在程式離開塊時釋放記憶體。如果是動態分配儲存期,在呼叫malloc 或相關...

c語言 儲存型別

c中的每乙個變數和函式都有兩個屬性 型別 type 和儲存型別 storage class 儲存型別分別是auto 自動 extern 外部 register 暫存器 static 靜態 1.auto 在函式體中定義的變數預設是auto.當進入 塊 block 時,系統為自動變數分配記憶體.在塊內,...

C語言中的四種儲存型別

一 首先來說說資料的型別,所有的資料都有兩種型別,一是常見的資料型別,如int,float等,一種便是今天的重頭戲,儲存型別。總共有四種儲存型別的變數,分別為自動變數 auto 靜態變數 static 外部變數 extern 以及暫存器變數 register 先回顧一下定義 1 自動變數 函式中所有...