1 變量的定義三方面: (1)數據類型:占用內存空間大。╥nt,double等) (2)作用域:有效性范圍 (3)存儲類型:在內存的存儲方式
- 這里又引入一個概念-“生存期”,即變量在程序中的建立和消亡時間
存儲類型決定變量的生存期和作用域
2 在內存中,供用戶使用的三種空間:
(1)程序區:存放代碼 (2)靜態和動態存儲區:存放數據 a.靜態存儲區:在編譯時就分配了內存空間,在整個程序執行中,內存單元一直保持到程序結束才釋放 b.動態存儲區:只有當程序執行到變量所在的函數被調用時,系統才為其分配內存空間,函數調用結束,變量即被釋放,
| 何時分配內存空間 | 何時釋放 | 生存期 | 靜態存儲區 | 在程序編譯時 | 程序結束 | 整個程序的運行期間 | 動態存儲區 | 只有當程序執行到變量所在的函數被調用時 | 函數調用結束 | 函數的調用期間 |
3 變量的分類 (1)局部變量:在一個函數內部或者某個復合語句內部定義的變量 (2)全局變量:在所有函數外部定義的變量。(默認初值為0)
| 作用域 | 存放區域 | 特點 | 局部變量 | 局限于定義它的函數或復合語句 | 動態存儲區 | 在不同的函數中允許同名, 如果變量名相同,則當前局部變量優先 | 全局變量 | 從定義變量的位置開始到源程序結束 | 靜態存儲區 |
- 若局部變量與全局變量同名,則局部變量優先,即在該函數或復合語句內,全局變量不起作用;
- 如果要在變量定義之前使用它,需用extern加以聲明可擴展全局變量作用域;
|
|