靜態變數:

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;

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Rinoa 的頭像
    Rinoa

    褪色的世界.斑剝的記憶

    Rinoa 發表在 痞客邦 留言(0) 人氣()