C變數儲存型別

2022-05-17 03:35:41 字數 974 閱讀 4408

c語言程式中可以選擇變數的不同儲存形式,儲存型別分別為靜態儲存和動態儲存。我們可以通過儲存類修飾符來告訴編譯器要處理什麼樣的型別變數,具體有以下4種:auto(自動)、static(靜態)、register(暫存器)、extern(外部)。

auto關鍵字是宣告乙個區域性變數為自動的,這就意味每次執行到定義該變數的時候,都會產生乙個新的變數,並且對其重新進行初始化。

1 #include 2

void

fun()39

void

main()

10

auto變數

執行結果如下圖:

static變數為靜態變數,它與將函式的內部與外部宣告成static變數的意義是不一樣的。不過對於區域性變數來說,static變數是和auto變數相對而言的。兩者作用域僅限宣告變數函式中,語句塊執行期間,static變數將始終保持它的值。

1 #include 2

void

fun ()39

void

main()

10

static變數

執行結果如下:

兩次輸出結果不同,由於fun()函式中的區域性變數a的值在函式呼叫結束後不消失而保留原值,即占用的儲存單元不釋放,在第二次呼叫fun()函式時,該變數保留第一次函式呼叫結束時的值,所以結果不同。

register變數為暫存器變數。使用暫存器變數的目的是指定某個區域性變數存放在計算機的某個硬體暫存器中而不是記憶體中,這樣可以提高程式的執行速度。

1 #include 2

void

main()

3

register

執行結果如下:

c 變數儲存型別

extern 儲存型別 只宣告而不定義變數,變數的宣告只是告訴編輯器變數的名稱和資料型別 變數的定義是給變數分配儲存區域 優點就是可以在多個檔案裡面共享乙個全域性變數,static 儲存型別 static指的是靜態變數 又叫永續性變數 靜態變數分為兩種,第一種是區域性靜態變數在函式內定義的變數,該變...

c 變數的儲存型別

儲存型別是對於變數而言的。一方面,它可以反映變數的儲存空間的位置,另一方面它可以反映變數的生存期。c 的儲存型別有四種,自動型別 靜態型別,暫存器型別和外部型別。其格式如下 儲存型別 資料型別 變數名 1.自動型別 示例 auto int x 特點 1.採用動態分配方式,在棧區分配空間。當超出作用域...

C語言 變數儲存型別

c語言中,變數儲存型別指的是儲存變數的記憶體的型別,主要分為三種 普通記憶體 執行時堆疊 硬體暫存器。變數儲存在那種型別的記憶體中和變數的作用域有很大的關係。首先,分析一下變數的作用域。作用域與宣告的位置有關。在乙個原始檔中,變數宣告的位置有兩種 在 塊內和 塊外。塊指的是被花括號 包圍的一段 1 ...