全局變量
全局變量不初始化時系統默認爲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的作用域引用至此(可跨文件引用)