這是基本語法系列的最後一文,以後將圍繞面向對象和應用領域的相關專題,話不多說,開始這最後的基礎。
數據結構
C++ 數組允許定義可存儲相同類型數據項的變量,而且數組的數據項在物理上是順序存儲的。但是結構是 C++ 中另一種用戶自定義的可用的數據類型,它允許存儲不同類型的數據項,並且可以實現物理上隨機存儲。
定義結構
使用struct 關鍵字聲明定義結構的語法如下:
struct type_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
type_name 是結構體類型的名稱,member_type1 member_name1 是標準的變量定義,比如 int i; 或者 float f; 或者其他有效的變量定義。object_names 在結構定義的末尾,最後一個分號之前,可以指定一個或多個結構變量,這是可選的。
結構成員訪問
使用成員訪問運算符(.) 訪問結構成員
結構作爲函數參數
結構作爲函數參數時,傳參方式與其他類型的變量或指針類似
指向結構的指針
定義指向結構的指針,方式與定義指向其他類型變量的指針相似:
//假設已經定義名爲Books的結構,struct關鍵字可以省略。
struct Books *struct_pointer;
指向結構的指針使用 -> 運算符訪問結構的成員
typedef 關鍵字
typedef struct type_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
}structTypeName;
type_name 是結構體類型的名稱,member_type1 member_name1 是標準的變量定義,比如 int i; 或者 float f; 或者其他有效的變量定義,structTypeName 是結構類型的別名 。
可以直接使用 structTypeName 來定義 type_ name 結構類型的變量,而不需要使用 struct 關鍵字:
Books Book1, Book2;
也可以使用 typedef 關鍵字來定義非結構類型:
typedef long int *pint32;
pint32 x, y, z;