背景知識:
區分兩個概念: 變數的 作用範圍 和 生命週期
對c語言程式來說,記憶體分為兩塊區域: 程式區和資料區,我們所有的變數都集中在資料區
作業系統
程式區(如c
程式**
)
資料區靜態儲存區
全域性變數
靜態區域性變數
動態儲存區
(如自動變數
)
常用變數:
自動變數: 如區域性變數 作用域為 生命週期為
全域性變數: 作用域 從定義開始到程式所在檔案的結束 生命週期 程式結束
靜態區域性變數: 作用域 生命週期 程式結束
特殊變數:
暫存器變數: 資料儲存在計算機暫存器單元上, 使用方式與自動變數完全相同
外部變數: 只起宣告作用
臨時變數: 編譯器因為某種需要自動生成的不能訪問的變數 如以下情況下
1. 建立常量的引用,將產生乙個臨時變數.如:
const int i=5;
const int &ri=i;
2. 當初始化引用的變數型別與宣告的引用型別不一致時,也會產生臨時變數:
int i=5;
double &rd=i;
3. 函式以值的形式返回時,也會產生臨時變數(物件)etc.
動態物件:
應該注意的是以上都是 靜態分配物件---即編譯器在處理程式源**時分配
實際上我們還可以 動態分配物件---即程式執行時呼叫執行時刻庫函式來分配 即利用 new 和 delete 表示式
程式中變數的儲存
char s string 的內容是不可以改的 void main void change char pinstr 兩種change編譯都可以通過,但發現第二個change是可以正確地修改第乙個字母為 o 而第乙個會操作失敗導致程式死掉。為什麼會這樣呢,首先要搞清楚編譯程式占用的記憶體的分割槽形式 ...
PHP程式中變數的使用範圍
1,區域性變數 1 定義在函式裡面宣告的變數,只能在函式內部使用,不能在函式外部使用 2 在 if 語句裡面宣告的變數,可以在 if 後面使用,c語言則不行 3 函式的引數,就是乙個區域性變數 2,全域性變數 1 全域性變數在函式外部宣告,可以在每個函式中使用 2 所有在函式內部的變數都是新宣告的,...
4 在Shell程式中的使用變數
學習目標 變數的賦值 變數的訪問 變數的輸入 12 4 1 變數的賦值 在shell程式設計中,所有的變數名都由字串組成,並且不需要對變數進行宣告。要賦值給乙個變數,其格式如下 變數名 值。注意 等號 前後沒有空格 例如 x 6 a how are you 表示把6賦值給變數x,字串 how are...