全局變量 局部變量 static autoregister extern

全局變量

全局變量不初始化時系統默認爲0;局部變量沒有默認值。

1.靜態外部變量(只限本文本)(加static)
2.外部變量(既非靜態的外部變量,允許其他文件引用)

局部變量

自動變量,既動態局部變量(離開函數值就會消失)(自動auto)
靜態局部變量(離開函數值保留)(使用static)
寄存器變量(離開函數值就消失)
(形式參數可以定義爲自動變量或寄存器變量)
如果一個局部變量的值不想被釋放掉,就在前面加static局部變量的值就會變爲靜態;
如果一個全局變量的值不想被其他文件引用,只在其所在文件中使用就在前加static;




static int a; //靜態局部整形變量或靜態外部整形變量;。
            //函數中變量不隨函數結束就消失,而保留原值,空間不釋放。
auto char c;//自動變量,在函數內定義;
           //局部變量如果不專門聲明爲static(靜態)存儲類別,都自動默認爲auto動態存儲區中。

register int d;//寄存器變量,在函數內定義;
            //以前版本低,運算器與內存互交流工作,導致變量使用頻率過多時就會存儲和拿出運算,
            //使計算變慢,所以次函數,將所用變量暫時放入CUP存儲器中。
            //對於常使用的變量,減少運算時間,就將本該存放在內存中的值,暫時存放在CPU中直接運算。
            //現在系統自動識別使用頻率高的自動放入CPU的寄存器中。
extern a;//將已定義外部變量a的作用域引用至此(可跨文件引用)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章