c++ 資料結構
c/c++ 陣列允許定義可儲存相同型別資料項的變數,但是結構是 c++ 中另一種使用者自定義的可用的資料型別,它允許您儲存不同型別的資料項。
結構用於表示一條記錄,假設您想要跟蹤圖書館中書本的動態,您可能需要跟蹤每本書的下列屬性:
title :標題
author :作者
subject :類目
book id :書的 id
定義結構
為了定義結構,您必須使用 struct 語句。struct 語句定義了乙個包含多個成員的新的資料型別,struct 語句的格式如下:
struct type_name object_names;
type_name 是結構體型別的名稱,member_type1 member_name1 是標準的變數定義,比如 int i; 或者 float f; 或者其他有效的變數定義。在結構定義的末尾,最後乙個分號之前,您可以指定乙個或多個結構變數,這是可選的。下面是宣告乙個結構體型別 books,變數為 book:
struct books
book;
訪問結構成員
為了訪問結構的成員,我們使用成員訪問運算子(.)。成員訪問運算子是結構變數名稱和我們要訪問的結構成員之間的乙個句號。
下面的例項演示了結構的用法:
例項#include
#include
using namespace std;
// 宣告乙個結構體型別 books
struct books
;int main( )
例項中定義了結構體類似 books 及其兩個變數 book1 和 book2。當上面的**被編譯和執行時,它會產生下列結果:
第一本書標題 : c++ 教程
第一本書作者 : runoob
第一本書類目 : 程式語言
第一本書 id : 12345
第二本書標題 : css 教程
第二本書作者 : runoob
第二本書類目 : 前端技術
第二本書 id : 12346
結構作為函式引數
您可以把結構作為函式引數,傳參方式與其他型別的變數或指標類似。您可以使用上面例項中的方式來訪問結構變數:
例項#include
#include
using namespace std;
void printbook( struct books book );
// 宣告乙個結構體型別 books
struct books
;int main( )
void printbook( struct books book )
;int main( )
// 該函式以結構指標作為引數
void printbook( struct books *book )
{cout << "書標題 : " << book->title x, y 和 z 都是指向長整型 long int 的指標。
資料結構 簡介
資料元素 是組成資料有一定意義的基本單位,比如乙個人的基本資訊包括姓名 性別 年齡等 資料物件 是性質相同的資料元素的集合,比如正整數資料物件n 資料結構 是資料的組織形式,即資料元素之間存在的一種或幾種特定關係 資料型別 是用來刻畫一組性質相同的資料及其上的操作。可以分為原子型別和結構型別。抽象資...
資料結構簡介
資料結構 是指相互之間存在一種或多種特定關係的 資料元素 的集合。聽起來是不是很抽象,簡單理解 資料結構就是描述物件間邏輯關係的學科。比如 佇列就是一種先進先出的邏輯結構,棧是一種先進後出的邏輯結構,家譜是一種樹形的邏輯結構!初學資料結構的時候很不理解為什麼有 棧 這個東西 佇列很容易理解 無論購物...
資料結構簡介
程式設計 資料結構 演算法。集合結構 資料間沒有對應關係 集 線性結構 資料間一對一的關係 表 樹形結構 資料間一對多的關係 樹 圖形結構 資料間多對多的關係 圖 順序結構 資料在儲存空間連續儲存 鏈式結構 資料在儲存空間不連續儲存 每一種具體資料儲存可以是兩種結構的組合,如陣列為順序線性儲存 鍊錶...