目錄
定義在**塊外部的是全域性變數
定義在**塊內部的是區域性變數
什麼是**塊?
//這是**快外部
int main()
實際上用int main來演示是不太對的,實際使用的時候我們定義變數是在int main內部定義的
下面這個例子更加清晰明了
int main()
//**塊結束
}需要注意的是:
同乙個變數a可以在全域性,區域性變數中間同時使用,區域性變數優先
這裡是指同時存在,同時使用,但不能同時定義
在區域性的**塊中重新定義乙個全域性變數是錯誤的
下面這種形式就是 同時使用乙個變數
int main()
{ int sz = 8;
int i = 0;
if(i
簡單的說就是變數不要重複,也別和庫函式衝突
變數的作用域->變數的生效區域
注:在vs中全域性變數的作用域是整個工程
作用域的規定了變數生效區域
如果你在區域性變數的**塊外部使用這個局www.cppcns.com部變數
這樣是無效的,無法程式設計客棧使用
在vs中全域性變數的作用域是整個工程
但是如果原始檔不同,我們需要打一串宣告來應用工程檔案中另外乙個原始檔的全域性變數
extern int a
以下是聲名變數和定義變數的**示例
extern int a;//宣告全域性變數a
int a; //定義全域性變數a
exter int a =0 ;//定義全域性變數a 並給初始值
int a =0;//定義全域性變數a,並給初始值
生命週期這個概念和作用域十分相似
區域性變數又稱自動變數
auto int a = 0;
實際使用的時候我們一般都是省略auto的
本片文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多****的更多內容!
本文標題: c語言:變數的作用域和生命週期詳解
本文位址: /ruanjian/c/419955.html
C語言變數作用域和生命週期
1 c語言不支援對形參變數的引用,也就是說,形參變數的作用域僅在於函式定義域內 2 有的c語言編譯器支援對變數不在函式開始的時候定義 3 全域性變數可以作為函式間通訊的乙個工具 4 全域性變數可以通過減少函式形引數,較少記憶體空間,較少傳遞資料的時間消耗 5 動態變數的生命週期和其所在的汗水一樣 6...
C語言 變數的作用域和生命週期
c語言 作用域和生命週期 a.普通區域性變數 屬於某個 在 外部不能使用此變數,在 內部是可以使用。執行到普通區域性變數定義語句,才會分配空間,離開 自動釋放。普通區域性變數不初始化,預設值為隨機數。b.static區域性變數 屬於某個 在 外部不能使用此變數,在 內部是可以使用。在編譯階段就已經分...
C語言中變數的作用域和生命週期
譚浩強書 從儲存模型可以看到,譚浩強和錢能的模型有一定的對應關係 靜態儲存區 全域性資料區 動態儲存區 棧 stack 變數的型別 1.區域性變數和全域性變數 區域性變數也稱為內部變數。區域性變數是在函式內作定義說明的。其作用域僅限於函式內,離開該函式後再使用這種變數是非法的。全域性變數也稱為外部變...