C語言中的變數訪問控制和儲存類別

2021-07-24 18:30:11 字數 534 閱讀 9512

根據變數的訪問類別可以分為區域性變數和全域性變數。

區域性變數是指在函式內部定義的變數。只在函式的內部有效,函式外部不能對其進行訪問。同理,不在函式內部定義的變數被稱為外部變數也就是全域性變數。全域性變數可被多個函式訪問,c語言中全域性變數的作用域為從變數定義處到原始檔結束。

根據變數的儲存型別可分為靜態變數和動態變數。

靜態變數是指程式執行期間具有固定的儲存空間的變數。動態變數則是由程式實時分配的變數,如函式的形參,非static修飾的區域性變數。靜態變數有:static修飾的區域性變數和全域性變數。

所以:全域性變數一定是靜態變數,區域性變數可以是靜態變數也可以不是。由此可見動態變數是指沒有static修飾的區域性變數

靜態變數的生存週期是從程式載入到記憶體中開始一直到程式執行結束;動態變數的生存週期和其所在的函式有關,不一定會隨著函式的執行而建立(定義在某**塊分支中),一定會隨著函式的結束而結束。(這裡個人認為靜態變數在程式載入到記憶體中時就會被建立,分配記憶體空間)

這裡區域性靜態變數依然是區域性變數,所以它的可訪問範圍並不會發生改變。

個人總結,如有錯誤歡迎指正!

C語言中變數儲存類別

c語言根據變數的生存週期來劃分,可以分為靜態儲存方式和動態儲存方式。靜態儲存方式 是指在程式執行期間分配固定的儲存空間的方式。靜態儲存區中存放了在整個程式執行過程中都存在的變數,如全域性變數。動態儲存方式 是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存區中存放的變數是根據程式執行的...

C 語言中變數的儲存類別

在說明c 語言中變數的儲存類別之前,我們需要搞明白生存期和作用域兩個概念。生存期和作用域是指從時間和空間兩個角度去描述變數的特性。不同的變數儲存類別直接導致了變數的生存期不同,通俗的說,也就是變數存在的時間不同。靜態儲存變數一般在變數定義之初就為變數分配了固定的儲存單元,這些儲存單元直到程式結束的時...

C語言中變數的儲存型別

變數的儲存型別 storage class 是指儲存變數值的記憶體型別。有三個地方可以用於儲存變數 普通記憶體 執行時堆疊 硬體暫存器 用於宣告變數儲存型別的關鍵字 auto static register 在所有 塊之外的變數的預設儲存型別是靜態的 static 儲存於靜態記憶體中,稱為靜態 st...