深入C 資料型別

2021-10-17 03:20:23 字數 725 閱讀 9071

(1)源於:system.value type家族

(2)主要包括:基本資料型別和列舉型別、結構型別

(3)對於值型別,不同的變數會分配不同的儲存控制項,並且儲存空間中儲存的是該變數的的值。改變乙個變數的值不會影響另乙個變數的值。

(1)源於:system.object家族

(2)主要包括:類、介面和陣列

(3)如果直接賦值給其他變數,等同於將原物件傳遞給另乙個變數,但實際指向同一塊儲存空間。

(1)結構的語法:

訪問修飾符 struct 結構名

{//結構體

}(2)結構和類的區別:

1.結構——值型別   類———引用型別

2.類的字段可以有初始值,結構不能被賦初始值

3.類需要例項化物件進行使用,結構直接宣告

(1)裝箱:將值型別轉換為引用型別

(2)拆箱:將引用型別轉換為值型別

注:儘量減少不必要的裝箱和拆箱,二者的儲存方式不同,轉換時效能損失較大。

(1)值方式引數傳遞

1.使用引用型別作為引數

(不用ref修飾)引數在方法中的修改會保留

2.使用值型別作為引數

(不用ref修飾)引數在方法中的修改不會保留

(2)引用方式引數傳遞

1.使用引用型別作為引數

(用ref修飾)引數在方法中的修改會保留

2.使用值型別作為引數

(用ref修飾)引數在方法中的修改會保留

深入C 資料型別

值型別 源於system.valuetype 引用型別 源於system.object 結構中可以有字段也可以有方法 定義時,結構中的字段不能被賦初值 可以不用new,直接定義結構的物件即可 前提該屬性的型別不是數值型別 宣告結構的物件後,必須給結構的成員賦初值 結構體中沒有預設建構函式,但類中有預...

深入C 資料型別

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

C 深入解析資料型別

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