先看兩個例子:
//如果不對全域性變數進行初始化,那麼它會自動初始化為0;
注:①如果在函式內部存在乙個與全域性變數同名的區域性變數,編譯器不會報錯,而是在函式中遮蔽此全域性變數。②如果不對全域性變數進行初始化,那麼它會自動初始化為0;
例:
void
通過例子發現:如果不對全域性變數進行初始化,那麼它會自動初始化為0,在例子中b全域性變數賦值了,所以在test中改變的是區域性變數b的值,而a並沒有在test中有相同的區域性變數,所以test修改的是全域性變數a。
另外注意extern關鍵字是告訴編輯器,這邊量我後邊定義了,先別報錯
voida(
);voida(
)int count=0;
intmain()
最後程式中不要大量使用全域性變數,因為全域性變數會從定義一直到程式結束才會銷毀; C語言區域性變數和全域性變數
在討論函式的形參變數時曾經提到,形參變數只在被呼叫期間才分配記憶體單元,呼叫結束立即釋放。這一點表明形參變數只有在函式內才是有效的,離開該函式就不能再使用了。這種變數有效性的範圍稱變數的作用域。不僅對於形參變數,c語言中所有的量都有自己的作用域。變數說明的方式不同,其作用域也不同。c語言中的變數,按...
C語言區域性變數和全域性變數
在討論函式的形參變數時曾經提到,形參變數只在被呼叫期間才分配記憶體單元,呼叫結束立即釋放。這一點表明形參變數只有在函式內才是有效的,離開該函式就不能再使用了。這種變數有效性的範圍稱變數的作用域。不僅對於形參變數,c語言中所有的量都有自己的作用域。變數說明的方式不同,其作用域也不同。c語言中的變數,按...
C語言區域性變數和全域性變數
在討論函式的形參變數時曾經提到,形參變數只在被呼叫期間才分配記憶體單元,呼叫結束立即釋放。這一點表明形參變數只有在函式內才是有效的,離開該函式就不能再使用了。這種變數有效性的範圍稱變數的作用域。不僅對於形參變數,c語言中所有的量都有自己的作用域。變數說明的方式不同,其作用域也不同。c語言中的變數,按...