在一次教程學習中,看到該知識點並記錄了下來,希望與大家共同**學習。
一、靜態儲存與動態儲存
靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變, 直至整個程式結束。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。動態儲存變數最典型的例子是函教的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼叫函式完畢立即釋放,如果乙個函式被多次呼叫 ,則反覆地分配和釋放形參變數的儲存單元。
從以上分析可知,靜態儲存變數是一直存在的 ,而動態儲存變是則時而存在時而消失。 我們又把這種由於變數儲存方式不同而產生的特性稱變數的生存期。( 見以下指令碼 )
1action()210
1112
return0;
13}1415
16//
靜態動態變數測試函式
17void auto_static(void)18
1 action.c(38): var_auto=0,var_static=0view code2 action.c(38): var_auto=0,var_static=1
3 action.c(38): var_auto=0,var_static=2
4 action.c(38): var_auto=0,var_static=3
5 action.c(38): var_auto=0,var_static=4
二、指標
指標是乙個儲存計算機記憶體位址的變數。從指標指向的記憶體讀取資料稱作指標的取值。指標可以指向某些具體型別的變數位址,例如int、 long 和double。
根據出現的位置不同,操作符 * 既可以用來宣告乙個指標變數,也可以用作指標的取值。當用在宣告乙個變數時,表示這裡宣告了乙個指標。其它情況用到 * 表示指標的歌值。
& 是位址操作符,用來引用乙個記憶體位址。通過在變數名字前使用&操作符,我們可以得到該變數量的記憶體位址。(見以下解本)
1輸出的值為: var is 99action()
2
靜態儲存 動態儲存 靜態變數與動態變數
動態變數 int a 靜態變數 static int a 靜態變數,全域性動態變數都是靜態儲存,儲存在全域性資料區,在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態儲存變數是一直存在的,只會初始化一次。區域性動態變數是動態儲存,動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,...
靜態儲存與動態儲存
靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。5.5.1節中介紹的全域性變數即屬於此類儲存方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼...
C 靜態儲存,動態儲存
什麼是靜態儲存,動態儲存 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼叫函式完畢立即釋放。如果...