靜態變數:
1. 外部變數(又名總體變數、全域變數):在函數外面所宣告的變數,可以跨檔案使用。可使用extern拓展外部變數的活動範圍。
int main(void)
{
extern int num; //拓展外部變數的範圍
}
int num; //外部變數
void fun(void){}
2. 靜態外部變數:在函數外面所宣告的變數,只能在一個程式檔使用。
static int num;
void fun(void)
{}
3. 靜態區域變數:在函數內宣告的變數,在編譯時就已配置固定的記憶體空間,函數執行結束時靜態變數並不會隨之結束,其值會被保存下來,若是再次呼叫該函數時,會將靜態變數存放在記憶體空間中的值取出來使用,而非定義的初值。
void fun(void)
{
static int num;
}
堆疊動態變數:
1. 區域變數:在編譯時並不會配置記憶體空間,而是在程式執行時會以堆疊的方式存放。
void fun(void)
{
int num;
}
◎暫存器變數是利用CPU的暫存器來存放資料。
register int num;
全站熱搜