C 基礎 資料型別

2021-07-25 03:45:53 字數 2897 閱讀 6538

記憶體空間有 「棧」 和 「堆」

值型別儲存在棧中,儲存的值就是變數本身包含的值,所以訪問速度比較

引用型別棧中儲存的只是乙個引用位址,其物件的真實資料則儲存在託管的堆上。訪問效率較

棧中存放物件引用,堆中存放物件資料。

值型別:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 值型別

, y = ", x, y);

x = 100;

console.writeline("x = , y = ", x, y);

console.readline();}}

}

x = 10, y = 10

x = 100, y = 10

引用型別:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace 引用型別

class program

", my1.a);

myclass my2 = my1;

my2.a = 500;

console.writeline("my1.a = , my2.a = ", my1.a ,my2.a);

console.readline();}}

}

my1.a = 100

my1.a = 500, my2.a = 500

c# 有15個 預定義型別:

-- 13個 是值型別

-- 2個 是引用型別 (string 和 object)

自定義型別:

-- 值型別:struct (結構)、enum (列舉)

--引用型別: class (類)

先說 13個 值型別:

8個整型:

3個高精度型別: float  double decimal

2個:布林 bool    字元 char

預定義引用型別:object  string

object  型別就是最終的父型別:

-- 可以使用 object 引用繫結任何子型別的物件

-- object 型別執行許多一般用途的基本方法,包括 equals()、gethashcode()、gettype() 和 tostring()。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace @object

,,",i,i1,i2);

console.readline();}}

}

上面三個值分別是:c#,123,3.14

string 型別:

它表示 零 或 多 unicode 字元組成的序列。 string 是.net framework 中string 的別名。

string 型別的修改更像是值型別,但它確實是引用型別

可以看出  str3 是拷貝了乙份  給 str4

c 資料型別基礎

1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於system程式集中的結構 sbyte 有符號8位整數 128 12...

C 資料型別基礎

1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於 system 程式集中的結構 sbyte 有符號8位整數 128 ...

C 基礎 資料型別

c 規定在建立乙個變數或者產量時,必須要指定相應的資料型別,否則無法給變數分配記憶體空間 資料型別的存在意義 給變數分配合適的記憶體空間 作用 整型變數表示的是整數型別的資料 在記憶體中的儲存方式如下圖所示 c 中能夠表示整型的型別有以下幾種方式,區別在於所佔記憶體空間不同 資料型別 占用空間 取值...