auto儲存類是所有區域性變數預設的儲存類。
auto 只能用在函式內,即 auto 只能修飾區域性變數。
register儲存類用於定義儲存在暫存器中而不是 ram 中的區域性變數。這意味著變數的最大尺寸等於暫存器的大小(通常是乙個詞),且不能對它應用一元的 '&' 運算子(因為它沒有記憶體位置)。
暫存器只用於需要快速訪問的變數,比如計數器。還應注意的是,定義 'register' 並不意味著變數將被儲存在暫存器中,它意味著變數可能儲存在暫存器中,這取決於硬體和實現的限制。
static儲存類指示編譯器在程式的生命週期內保持區域性變數的存在,而不需要在每次它進入和離開作用域時進行建立和銷毀。因此,使用 static 修飾區域性變數可以在函式呼叫之間保持區域性變數的值。
static 修飾符也可以應用於全域性變數。當 static 修飾全域性變數時,會使變數的作用域限制在宣告它的檔案內。
全域性宣告的乙個 static 變數或方法可以被任何函式或方法呼叫,只要這些方法出現在跟 static 變數或方法同乙個檔案中。
extern儲存類用於提供乙個全域性變數的引用,全域性變數對所有的程式檔案都是可見的。當您使用extern時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。
當您有多個檔案且定義了乙個可以在其他檔案中使用的全域性變數或函式時,可以在其他檔案中使用 extern 來得到已定義的變數或函式的引用。可以這麼理解,extern 是用來在另乙個檔案中宣告乙個全域性變數或函式。
C語言基礎 靜態儲存和動態儲存
一 儲存方式 變數從變數值存在的時間 即生存期 角度分 靜態儲存方式和動態儲存方式。靜態 由系統分配固定的儲存空間,全域性變數就儲存在靜態儲存區。動態 系統根據需要進行動態的分配儲存空間。在動態儲存區存放一下資料 1 函式形式引數 2 自動變數 未加 static 宣告 3 函式呼叫時的現場保護和返...
C語言 儲存
char 字元資料型別 short 短整型 int 整形 long 長整型 long long 更長的整形 float 單精度浮點數 double 雙精度浮點數 型別的基本歸類 整型家族 浮點數家族 構造型別 指標型別 空型別 這裡再將構造型別細分一下 陣列型別 結構體型別struct 列舉型別en...
c語言變數儲存
記憶體中供使用者使用的儲存空間分為 區與資料區兩個部分。變數儲存在資料區,資料區又可分為靜態儲存區與動態儲存區。靜態儲存是指在程式執行期間給變數分配固定儲存空間的方式。如全域性變數存放在靜態儲存區中,程式執行時分配空間,程式執行完釋放。動態儲存是指在程式執行時根據實際需要動態分配儲存空間的方式。如形...