C 值型別和引用型別

2021-09-01 14:43:58 字數 502 閱讀 9299

型別被分為兩種:

值型別(整數,bool, struct (建構函式),char(字元), 小數)

引用型別(string ,陣列 ,自定義的類,內建的類,物件.)

兩者在記憶體中的儲存方式

值型別:只需要一段單獨的記憶體,用於儲存實際的資料,(單獨定義的時候放在棧中)

引用型別:需要兩段記憶體

第一段儲存實際的資料,它總是位於堆中

第二段是乙個引用,指向資料在堆中的存放位置

當我們使用引用型別賦值的

時候,其實是賦值的引用型別的引用

如果陣列是乙個值型別的陣列,那麼陣列中直接儲存值,如果是乙個引用型別的陣列(陣列中儲存的是引用型別),那麼陣列中儲存的是引用(記憶體位址)

C 值型別和引用型別

c 資料型別 值型別,引用型別 概念 值型別直接儲存其值,引用型別儲存對值的引用 這兩種型別儲存在記憶體的不同地方 值型別儲存在堆疊中,引用型別儲存在託管堆上。乙個引用型別的例子,如圖 上圖中,只有乙個user物件,u1和u2都指向包含該物件的記憶體位置 執行結果 在c 中,基本資料型別如bool和...

c 值型別和引用型別

今天我們來學習一下什麼是值型別和引用型別。1.值型別的值存在棧上,引用型別棧上存的是位址,值在堆上 2.將乙個值型別變數賦給另乙個值型別變數時,將複製包含的值。引用型別變數的賦值只複製對物件的引用,而不複製物件本身。3.裝箱是將值型別轉換為引用型別,拆箱是將引用型別轉換為值型別,利用裝箱和拆箱功能,...

C 值型別和引用型別

之前有篇文章講到引數傳遞,但並未對值型別和引用型別做乙個詳細的了解。值型別和引用型別詳細的說明在右邊的 中有 之前看了詳細說明,於是在我的腦海中就留下了乙個印像,string是引用型別。對任何引用型別做了改變就會有影響。於是這句話在下面把我成功帶入坑。今天早上看了一篇部落格,就講到了值型別和引用型別...