引言:程序運行時,它的數據必須存在內存中,一個數據需要多大內存、存儲在什么地方以及如何存儲都依賴于該數據的數據類型。
1、什么是棧
棧是一個內存數組,是一個LIFO(Last-In-First-Out 后進先出)的數據結構。
棧主要存儲如下幾種數據:
a、某些類型變量的值。
b、程序當前的執行環境。
c、傳遞給方法的參數
棧的特征:
1、數據只能從棧的頂端插入和刪除
2、把數據放到棧頂稱為入棧(push)
3、從棧頂刪除數據稱為出棧(pop)

什么叫堆?
堆是一塊內存區域,在堆里面可以分配較大塊的內存用來存儲某種數據類型的數據對象,和棧不同是的,堆里面的內存可以按照任何順序進行存入和移除。

注意:雖然程序可以在堆里面保存數據,但是不能顯式的刪除它們。CLR的GC(垃圾收集器)在判斷出程序的代碼將不會再訪問某數據項的時候,會自動清楚無主的堆對象(托管對象)。