c 值型別與引用型別

2021-09-30 07:07:27 字數 439 閱讀 5182

c#中值型別存放的是真正的資料,且值型別都有固定的長度,如char佔乙個位元組。值型別的變數儲存在堆疊上。
引用型別是儲存對資料的記憶體位址的引用,位於受管制的堆上。引用型別的變數可以引用同一物件;但對乙個變數
的操作會影響另乙個變數所引用的同一物件。
棧空間的引用分為靜態分配和動態分配,當對變數呼叫結束後,棧中所對應的變數占用的空間記憶體會自動釋放。
堆空間的分配是動態的,當對變數呼叫結束後,堆中所對應的變數占用的空間記憶體不會自動釋放。
棧和堆的定義上區別是:棧是系統提供的功能,堆是函式庫提供的功能。
c#的值型別包括使用者自定義的結構型別, 

基元型別(如int),列舉型別(除char型別外的其它常數組成的列表型別

);

c#的引用型別包括字串,類,陣列、介面,委託。

C 值型別與引用型別

1.主要內容 型別的基本概念 值型別深入 引用型別深入 值型別與引用型別的比較及應用 2.基本概念 c 中,變數是值還是引用僅取決於其資料型別。c 的基本資料型別都以平台無關的方式來定義,c 的預定義型別並沒有內置於語言中,而是內置於.net framework中。net使用通用型別系統 cts 定...

c 引用型別與值型別

c 的值型別包括 結構體 數值型別,bool型,使用者定義的結構體 列舉,可空型別。c 的引用型別包括 陣列,使用者定義的類 介面 委託,object,字串。在c 中函式傳值的特點 1.對於複雜的資料型別,按引用傳遞的效率更高,因為在按值傳遞時,必須複製大量的資料 2.除非特別指定,所有的引用型別都...

C 值型別與引用型別

資料型別分為 值型別 引用型別 值型別 int char double bool 結構 struct 列舉 enum 儲存在堆疊中 引用型別 類 string。陣列 介面 儲存在託管堆中 2.值型別 變數儲存物件的值,賦值會建立值的副本,修改任何乙個副本,不會影響其他的 副本 int x 5 int...