C 學習筆記之資料結構 變數和常量

2021-09-23 17:00:14 字數 1102 閱讀 5253

(1)型別系統

(2)值型別

(3)引用型別

(4)裝箱和拆箱

c#中所有的型別都繼承於system.object根型別,而所有的值型別都繼承於system.valuetype型別。通過裝箱和拆箱機制,可以實現值型別和引用型別之間的轉換。

裝箱轉換是指將乙個值型別隱式或顯式地轉換成乙個object型別,或把這個值型別轉換成乙個被該值型別應用的介面型別。把乙個值型別的值裝箱,就是建立乙個object例項並將這個值複製給這個object,裝箱後的object物件中的資料位於託管堆中。

拆箱轉換是指將乙個物件型別顯式地轉換成乙個值型別,或是將乙個介面型別顯式地轉換成乙個執行該介面的值型別。注意,裝箱操作可以隱式進行,但拆箱操作必須是顯式的。拆箱過程分成兩步:首先,檢查這個物件例項,看其值是否為給定值型別的裝箱值;然後,把這個物件例項的值複製給值型別的變數。

裝箱轉換把值型別轉換為引用型別後,可以方便呼叫相應物件實現的方法。值得注意的是,裝箱和拆箱操作,會導致額外的系統記憶體配置開銷。

(5)預定義資料型別

(1)值型別

值型別與引用型別的區別:

(1)變數

變數是指記憶體中的某個儲存單元內容的值可以改變,在c#中用乙個識別符號表示變數,稱之為變數名。該識別符號必須滿足以下要求:

①以字母或下劃線符號()開頭,後跟任何字母、數字和下劃線符號()。

②識別符號不能和c#中的關鍵字同名。

變數的分類(根據變數宣告的位置):

①成員變數。在型別中宣告,作為型別成員的變數,稱為成員變數(即欄位)。包括靜態變數和非靜態變數。

②區域性變數。在型別的成員方法中宣告的變數,稱為區域性變數。作為方法定義的引數,也屬於區域性變數,包括值引數、引用引數和輸出引數。

變數可以為型別,也可以為型別的陣列。指向陣列的變數,稱為陣列元素。

有關常量與變數詳細資訊學習推薦部落格:

有關型別轉換學習推薦部落格:

(2)常量

C 學習筆記 常量和變數

常量 在程式執行過程中,不會改變的量 變數 在程式執行過程中可以改變的量 語法 const 資料型別 常量名 值 1 變數的宣告方法 2 常用的資料型別 3 變數的命名規則 4 變數的命名規範 5 變數的作用域 用來在計算機中儲存資料。1 資料型別 變數名 變數名 值 2 資料型別 變數名 值 3 ...

C 學習筆記02 常量和變數

常量的值不能改變,可以分為字面常量和符號常量。字面常量即直接寫出來的資料。符號常量有兩種寫法 第一種寫法 在main函式前,按下面 書寫,注意末尾沒有分號,稱為編譯預處理。define 符號名稱 資料 define 100 第二種寫法 使用const,寫法如下,是語句,末尾要有分號。const 型別...

Python學習筆記 常量和變數

數字常量 如下是python的一些常量表示形式 和c類的語法不同的是,python是內建了複數的。布林常量 布林值的表示方式是true和false 字串常量 字串常量有三種表示顯示 其中單引號和雙引號功能完全相同,和c的雙引號表示字串方式一樣,主要是新增了乙個三引號的多行模式,在三引號的模式中,可以...