1. 程式人生 > >靜態變量、全局變量和局部變量

靜態變量、全局變量和局部變量

color 全局變量 font 自己的 運行期 保存 文件 包含 宋體

1.全局變量的作用域是整個項目,它只需要在一個源文件中定義就可以作用於所有的源文件,其它不包括全局變量定義的文件需要用extern關鍵字再次聲明這個全局變量。

2. 全局變量、靜態全局變量、靜態局部變量都是在靜態存儲區(全局數據區)中分配空間的,而局部變量是在棧上分配空間的。

3. 全局變量、靜態變量的生命期和程序生命期是一樣的,在程序結束之後操作系統會回收空間。

4. 全局變量和靜態變量都是保存在靜態存儲區中,生命期和程序一樣,但是不同的是全局變量的作用域是整個項目,而靜態全局變量是當前程序文件,靜態局部變量則是當前函數體內。全局變量和靜態全局變量、靜態局部變量默認值都是0,也就是在沒有初始化變量值的時候默認為0。

5. 靜態變量包含靜態局部變量和靜態全局變量。

靜態局部變量具有局部作用域只對定義自己的函數可見,只被初始化一次,自從初始化一次之後直到程序運行期間一直都在

靜態全局變量具有全局作用域作用於定義它的程序文件但是不能作用於項目裏的其它文件,這一點和全局變量不同。靜態全局變量可以被多次初始化

6. 把局部變量改變為靜態變量之後是改變了它的存儲方式和生命期。

把全局變量改變為靜態變量之後是改變了它的作用域,限制了使用範圍

靜態變量、全局變量和局部變量