使用者自訂的資料型別
與Class類似,Struct關鍵字定義的成員是(Public),Class則是(Private)
- 結構體定義
- 結構體變數宣告
- 結構體定義與宣告
- 存取結構體成員
- 動態配置記憶體
- 結構體的函式成員
結構體定義
Struct格式
struct 結構體名稱 { 結構體成員; };
相當於Class格式
class 類別名稱 { public: 類別內容成員; };
結構體變數宣告
- 結構體名稱 結構體變數名;
- 結構體名稱* 結構體指標名;
- 結構體名稱 結構體陣列名[n];
結構體定義與宣告
- 舉例:型別為A 的物件叫做a_object。A是自訂型別,定義在struct A中
定義與宣告 分開 A a_object;
定義與宣告 結合 struct A{ int a; }a_object;
存取結構體成員
一個結構體會定義好幾個成員,存取方式有兩種
- 「.」運算子:透過變數/物件,直接存取
- 「-」運算子:指到結構體位址
第一種(一般變數/物件)
結構體變數 . 資料成員名稱; 結構體陣列 [ i ] . 資料成員名 資料成員名 ;
第二種(指標)
結構體指標-資料成員名稱;
動態配置記憶體
結構體名稱* 結構體指標 = new 結構體名稱 結構體名稱; 結構體名稱* 結構體指標 = new 結構體名稱 結構體名稱[陣列長度];
結構體的函式成員
定義1
struct 結構體名稱 { 資料成員; 函式成員; };
定義2
struct 結構體名稱 { 資料成員; 函式成員宣告; }; 結構體名稱::函式成員定義 {}
- 備註:範圍運算子(::) ,函式宣告在結構體內,需用範圍運算子表明函式在哪裡。
呼叫
結構體變數.函式成員 (參數列); 結構體指標-函式成員 (參數列);