局變量是使用相同的內存塊在整個類中存儲一個值。
全局變量的存在主要有以下一些原因:
1,使用全局變量會佔用更多的內存(因為其生命期長),不過在計算機配置很高的今天,這個不成為什麼問題,除非使用的是巨大對象的全局變量,能避免就一定要避免。
2,使用全局變量程序運行時速度更快一些(因為內存不需要再分配),同樣現在也快不了多少。
3,對於局部變量的名字空間汙染,這個在不使用太多變量時是可以避免的。
總之,全局變量可以使用,但是全局變量使用時應注意的是儘可能使期名字易於理解,而且不能太短,避免名字空間的汙染;避免使用巨大對象的全局變量。
局部變量說明:
在程序中,只在特定的過程或函數中可以訪問的變量,是相對與全局變量而言的。
全局變量也稱為外部變量,是在函數的外部定義的,它的作用域為從變量定義處開始,到本程序文件的末尾。全局變量全部存放在靜態存儲區,在程序開始執行時給全局變量分配存儲區,程序行完畢就釋放。
局部變量可以和全局變量重名,但是局部變量會屏蔽全局變量。在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。根據使用範圍來區分的。
1.局部變量
他是 指在函數內部定義的變量 作用域為定義局部變量的函數 也就是說他只能在定義他的函數中使用
最值得注意的是 只有在程序執行到定義他的模塊時才能生成,一旦執行退出該模塊則起變量消失
func ()
{
int x; 局部變量x的作用域 很明確
......
}
2.全局變量
在程序執行的過程中一直有效
intx=1;
func ()
{
x=x+1;
}
func1 ()
{
x=x-1;
}
main ()
{
}
由此不難看出整型x的作用範圍
對於全局變量 如果在定義的時候不做初始化 則系統將自動為起賦值 數值型為0
字符型為空'\0'
全局變量的弊端 增加內存開銷 降低函數的通用性
定義全局變量時,理想的位置是在文件的開頭,當這些函數以及同一個程序中的其他源程序文件中的某些函數需要使用該全局變量時,在函數內部對該變量使用extern 加以說明,說明他是外部的。
(這裡還要做詳細的講解)
main ()
inta=1,b=2;int min (x,y)int x,y;