2021-10-09|閱讀時間 ‧ 約 3 分鐘

Struct結構體 (C++)

使用者自訂的資料型別
與Class類似,Struct關鍵字定義的成員是(Public),Class則是(Private)
  1. 結構體定義
  2. 結構體變數宣告
  3. 結構體定義與宣告
  4. 存取結構體成員
  5. 動態配置記憶體
  6. 結構體的函式成員

結構體定義

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 結構體名稱 { 資料成員; 函式成員宣告; }; 結構體名稱::函式成員定義 {}
  • 備註範圍運算子(::) ,函式宣告在結構體內,需用範圍運算子表明函式在哪裡。
呼叫
結構體變數.函式成員 (參數列); 結構體指標-函式成員 (參數列);
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.