記憶體會分global、stack與heap三種區間來配置變數的存放
記憶體會分global、stack與heap三種區間來配置變數的存放,大致上如下表說明
|
記憶體配置 |
|
|
Global 全域 用來放全域變數、靜態變數(static) |
|
|
Stack (堆疊) Value type (實值型別) |
Heap (堆積) Reference type (參考型別) |
|
區域變數、函式的參數與函式的位址等等,由系統管理,必須在編譯時期為已知。 這些變數的回收會發生在它從堆疊pop出去的時候,因為個數、大小什麼的都是已知,所以系統知道怎麼進行配置與回收。
一般Value Type有三種: 內建型別 使用者定義型別(Structure) 列舉(Enum) |
使用這裡的記憶體主要是用在編譯時期還不知道大小或個數的變數。 這裡的記憶體由使用者負責進行回收。 |