深入C 資料型別

2022-07-15 07:54:11 字數 845 閱讀 5311

值型別(源於system.valuetype)

引用型別(源於system.object)

結構中可以有字段也可以有方法

定義時,結構中的字段不能被賦初值

可以不用new,直接定義結構的物件即可

(前提該屬性的型別不是數值型別)

宣告結構的物件後,必須給結構的成員賦初值

結構體中沒有預設建構函式,但類中有預設建構函式

裝箱:將值型別(棧)轉換成引用型別(棧堆)

拆箱:從引用型別(棧堆)轉換成值型別(棧)

如果方法的引數型別本身是值型別,又沒有ref修飾,那麼對引數值的修改,不會永久儲存

如果方法的引數型別本身是值型別,但是有ref修飾,那麼物件引數值的修改,也會永久儲存。

值型別傳遞 :不帶ref的引數傳遞  

引用型別傳遞:帶ref的引數傳遞

結構體不用new,就可以直接對其屬性賦值

結構體中可以有欄位,屬性和方法

結構體是值型別,類是引用型別

在結構體中不能給字段賦初值,但是類中可以.

結構體中沒有預設建構函式,但類中有預設建構函式

深入C 資料型別

源於 system value type家族 主要包括 基本資料型別和列舉型別 結構型別 對於值型別,不同的變數會分配不同的儲存控制項,並且儲存空間中儲存的是該變數的的值。改變乙個變數的值不會影響另乙個變數的值。源於 system object家族 主要包括 類 介面和陣列 如果直接賦值給其他變數,...

深入C 資料型別

一 值型別與引用型別 值型別源於system.valuetype家族,值型別包括基本資料型別,結構型別和列舉型別。值型別 在棧上儲存的真實的值。引用型別源於system.object家族,在c 中引用型別主要包括陣列 類 介面 string型別等。引用型別 在棧和堆上都要分配空間。值型別例題 1 c...

C 深入解析資料型別

1.值型別和引用型別的原理 2.執行緒棧和託管堆 3.裝箱和拆箱 4.型別判等 c 的基本型別是按照資料在計算機記憶體是如何被分配來劃分,一種是值型別 value type 基礎型別是結構,使用中記憶體儲存在棧中,一種是引用型別 reference type 基礎型別是類,使用中記憶體儲存在堆中常用...