程式員開發經常涉及到的記憶體區域:堆、棧、靜態存儲區域。 值類型和引用類型的區別: 本章節,暫時只介紹第1個區別:值類型和引用類型在記憶體上的存儲區域。 常用值類型:int、double、bool、char、decimal、struct、enum 常用引用類型:string、自定義類、數組 1.值類型存 ...
程式員開發經常涉及到的記憶體區域:堆、棧、靜態存儲區域。
值類型和引用類型的區別:
- 值類型和引用類型在記憶體上存儲的地方不一樣。值類型的值是存儲在記憶體的棧當中。引用類型的值是存儲在記憶體的堆中。
- 在傳遞值類型和傳遞引用類型的時候,傳遞方式不一樣。值類型我們稱之為值傳遞,引用類型我們稱之為引用傳遞。
本章節,暫時只介紹第1個區別:值類型和引用類型在記憶體上的存儲區域。
常用值類型:int、double、bool、char、decimal、struct、enum
常用引用類型:string、自定義類、數組
1.值類型存儲圖解:
2.引用類型-字元串存儲圖解:
3.引用類型-自定義類存儲圖解:
引用類型存儲總結:
引用類型的對象存儲在堆中,並且會分配一個記憶體地址。該記憶體地址會存儲到棧空間,棧空間名為變數名。
即讀取引用類型對象的順序:變數—>記憶體地址—>實例對象。