使用者自訂的資料型別
與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 結構體名稱
{
資料成員;
函式成員宣告;
};
結構體名稱::函式成員定義 {}
- 備註:範圍運算子(::) ,函式宣告在結構體內,需用範圍運算子表明函式在哪裡。
呼叫
結構體變數.函式成員 (參數列);
結構體指標->函式成員 (參數列);