變數作用域劃分 區域性變數和全域性變數

2021-10-06 02:21:18 字數 873 閱讀 7084

1.只在本函式內有效

2.主函式中定義變數只在主函式中有效,而不是在整個檔案內有效。

主函式也不能使用其他函式定義的變數。

3.形式引數也是區域性變數。

4.復合語句(比如有大括號)中定義的變數只在本復合語句中有效,這種符合語句稱為程式塊,如int j=5

5.不同函式內區域性變數可以重名

1.可以為本檔案中其他函式所共用

2.有效範圍從定義變數的位置開始到本原始檔結束

3.全域性變數在程式的全部執行過程中都占用儲存單元,而不是需要時才開闢單元。

4.盡量少用全域性變數,會降低程式清晰性。

5.降低函式通用性,如果將乙個函式移到另乙個檔案中,有關外部變數及值也必須要一起移動,但若該全域性變數與其他檔案的變數重名,會出現問題,降低程式可靠性和通用性。一般要求把c程式中的函式做成乙個封閉體。

#include

#include

//可以用extern來提公升作用範圍

//可用extern在別的檔案來借用全域性變數

extern

int i;

void

print

(int i)

//全域性變數又叫外部變數,從定義位置開始到結尾有效,不是全部範圍

int i=10;

intmain()

//這裡編譯出錯:因為區域性變數只在離最近的大括號內有效,不是函式內有效

// 如果在main()中括號外寫 j=10 不通

printf

("main()中的i=%d\n"

,i);

print

(i);

system

("pause");

}

區域性變數,全域性變數,作用域

目錄在函式內部,可以引用全域性變數 name zk 全域性變數 全域性作用域 def change name 小黃 在函式裡面是區域性變數 區域性作用域 print id name print name change print name,id name 只需要在函式裡宣告變數前加 global 變...

作用域之全域性變數和區域性變數

一句話概括作用域 變數和函式的可訪問範圍 作用域分為三種 全域性作用域 全域性變數 區域性作用域 區域性變數 塊級作用域 es6新增 什麼是全域性變數 在函式外定義的變數 什麼是區域性變數 區域性變數也叫函式變數 在函式內定義的變數 作用域不同 全域性變數的作用域為整個程式,而區域性變數的作用域為當...

static全域性 區域性變數,全域性變數及區域性變數

1 static變數和全域性變數都是分配在 靜態儲存區 2 static全域性變數 static區域性變數 全域性變數和區域性變數區別 他們都是分配在 靜態儲存區內,都是在程式開始的時候初始化的,他們的區別是作用域不同,static全域性變數作用域是在申明所在的檔案中,而全域性變數是全域性的,其他檔...