程式中的變數

2021-04-06 17:33:39 字數 853 閱讀 8056

背景知識:

區分兩個概念: 變數的 作用範圍 和 生命週期

對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...