C語言變數的作用範圍

2021-07-11 17:53:08 字數 817 閱讀 9291

變數的作用範圍

1 區域性變數

1.1 舉例

1.1.1 形式引數

1.1.2 定義在函式體內的變數,也成為自動變數,由關鍵字auto說明,可以省略

1.1.3 定義在復合語句中的變數

1.2 定義在函式體內

1.3 使用棧的原理進行分配記憶體的

2 全域性變數

2.1 定義在函式體外

2.2 全域性變數不初始化將自動賦值為0

2.3 全域性變數的作用域是從定義行開始的,到檔案結束

3 區域性變數與全域性變數的關係

3.1 區域性變數與全域性變數同名時,在子函式內全域性變數不起作用

4 變數的生命週期

4.1 區域性變數

4.1.1 開始:函式被呼叫

4.1.2 結束:函式結束

4.1.3 區域性變數被釋放後,之前對應的記憶體空間成為公共區域

4.2 全域性變數

4.2.1 開始:主函式執行之前

4.2.2 結束:主函式結束

4.3 關鍵字

4.3.1 auto:自動變數,區域性變數

4.3.2 static:靜態

4.3.2.1 加在區域性變數之前

4.3.2.1.1 延長區域性變數的生命週期到整個程式執行結束

4.3.2.1.2 原理:首先判斷區域性變數是否已經分配過空間,如果沒有則進行分配;如果已經分配過了(上次呼叫函式後變數沒有被釋放),則不再分配空間。

4.3.2.1.3 用途

4.3.2.1.4 作用域還是在函式內部

4.3.2.2 加在全域性變數之前

4.3.2.2.1 作用域為所在檔案內部

C語言中變數的作用範圍

從變數的作用域角度來分,可以分為區域性變數與全域性變數。從變數值的存在的時間 即生存期 來分,可以分為靜態儲存方法和動態儲存方式。所謂靜態儲存方式是指程式在執行期間由系統分配固定的村粗空間的方式。動態儲存方式則是在程式執行期間根據需要進行動態的分配儲存空間的方式。記憶體供使用者使用的儲存空間的情況,...

C 中變數的作用範圍 可見範圍

作用域為當前 塊,即 中。在 塊外部不可見。區域性靜態變數,即在 塊中宣告的靜態變數,作用域為當前 塊,超過該 塊則不可見 static int a 0 void test 2.類靜態成員變數,作用域為當前類,超出類範圍則不可見 static int a class test 3.全域性靜態變數,不...

變數的作用範圍

1.類中所有變數的預設修飾符是private。2.區域性變數必須先初始化才能使用,全域性變數 類的成員變數 可以不初始化,預設值為0 1 static void main string args 212 else 1316 17console.readkey 18 1920 static int n...