c 值型別和引用型別

2021-08-19 22:50:43 字數 501 閱讀 4529

今天我們來學習一下什麼是值型別和引用型別。

1.值型別的值存在棧上,引用型別棧上存的是位址,值在堆上;

2.將乙個值型別變數賦給另乙個值型別變數時,將複製包含的值。引用型別變數的賦值只複製對物件的引用,而不複製物件本身。

3.裝箱是將值型別轉換為引用型別,拆箱是將引用型別轉換為值型別,利用裝箱和拆箱功能,可通過允許值型別的任何值與引用型別的值相互轉換,將值型別和引用型別連線起來。

類是引用型別;類當中有乙個預設的無引數的建構函式,當在類中寫乙個有引數的建構函式,預設的無引數的建構函式就被乾掉了;類中寫構造函式引數列表中引數個數可以不確定;

結構是值型別;在結構中也有預設的乙個無引數的建構函式,當在結構中寫乙個有引數的建構函式,預設的無引數的建構函式還有,沒有被乾掉;在結構中寫建構函式,要把所有的字段完全賦值。

掌握值型別和引用型別的區別。

C 值型別和引用型別

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

C 值型別和引用型別

型別被分為兩種 值型別 整數,bool,struct 建構函式 char 字元 小數 引用型別 string 陣列 自定義的類,內建的類,物件.兩者在記憶體中的儲存方式 值型別 只需要一段單獨的記憶體,用於儲存實際的資料,單獨定義的時候放在棧中 引用型別 需要兩段記憶體 第一段儲存實際的資料,它總是...

C 值型別和引用型別

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