天天看點

C++基礎知識篇:C++ 資料結構

C++基礎知識篇:C++ 資料結構

C/C++的學習裙【七一二 二八四 七零五 】,無論你是小白還是進階者,是想轉行還是想入行都可以來了解一起進步一起學習!裙内有開發工具,很多幹貨和技術資料分享!

C/C++ 數組允許定義可存儲相同類型資料項的變量,但是結構是 C++ 中另一種使用者自定義的可用的資料類型,它允許您存儲不同類型的資料項。

結構用于表示一條記錄,假設您想要跟蹤圖書館中書本的動态,您可能需要跟蹤每本書的下列屬性:

Title :标題

Author :作者

Subject :類目

Book ID :書的 ID

定義結構

為了定義結構,您必須使用 struct 語句。struct 語句定義了一個包含多個成員的新的資料類型,struct 語句的格式如下:

type_name 是結構體類型的名稱,member_type1 member_name1 是标準的變量定義,比如 int i; 或者 float f; 或者其他有效的變量定義。在結構定義的末尾,最後一個分号之前,您可以指定一個或多個結構變量,這是可選的。下面是聲明一個結構體類型 Books,變量為 book:

通路結構成員

為了通路結構的成員,我們使用成員通路運算符(.)。成員通路運算符是結構變量名稱和我們要通路的結構成員之間的一個句号。

下面的執行個體示範了結構的用法:

執行個體中定義了結構體類型 Books 及其兩個變量 Book1 和 Book2。當上面的代碼被編譯和執行時,它會産生下列結果:

C++基礎知識篇:C++ 資料結構

結構作為函數參數

您可以把結構作為函數參數,傳參方式與其他類型的變量或指針類似。您可以使用上面執行個體中的方式來通路結構變量:

當上面的代碼被編譯和執行時,它會産生下列結果:

C++基礎知識篇:C++ 資料結構

指向結構的指針

您可以定義指向結構的指針,方式與定義指向其他類型變量的指針相似,如下所示:

現在,您可以在上述定義的指針變量中存儲結構變量的位址。為了查找結構變量的位址,請把 & 運算符放在結構名稱的前面,如下所示:

為了使用指向該結構的指針通路結構的成員,您必須使用 -> 運算符,如下所示:

讓我們使用結構指針來重寫上面的執行個體,這将有助于您了解結構指針的概念:

C++基礎知識篇:C++ 資料結構

typedef 關鍵字

下面是一種更簡單的定義結構的方式,您可以為建立的類型取一個"别名"。例如:

C++基礎知識篇:C++ 資料結構

現在,您可以直接使用 Books 來定義 Books 類型的變量,而不需要使用 struct 關鍵字。下面是執行個體:

您可以使用 typedef 關鍵字來定義非結構類型,如下所示:

x, y 和 z 都是指向長整型 long int 的指針。

c++

繼續閱讀