c++ 結(jié)構(gòu) struct
c/c++ 數(shù)組允許定義可存儲(chǔ)相同類(lèi)型數(shù)據(jù)項(xiàng)的變量,但是結(jié)構(gòu)是 c++ 中另一種用戶自定義的可用的數(shù)據(jù)類(lèi)型,它允許您存儲(chǔ)不同類(lèi)型的數(shù)據(jù)項(xiàng)。
結(jié)構(gòu)用于表示一條記錄,假設(shè)您想要跟蹤圖書(shū)館中書(shū)本的動(dòng)態(tài),您可能需要跟蹤每本書(shū)的下列屬性:
- title
- author
- subject
- book id
1. 定義結(jié)構(gòu)
為了定義結(jié)構(gòu),您必須使用 struct 語(yǔ)句。struct 語(yǔ)句定義了一個(gè)包含多個(gè)成員的新的數(shù)據(jù)類(lèi)型,struct 語(yǔ)句的格式如下:
struct [structure tag] { member definition; member definition; ... member definition; } [one or more structure variables];
structure tag 是可選的,每個(gè) member definition 是標(biāo)準(zhǔn)的變量定義,比如 int i; 或者 float f; 或者其他有效的變量定義。在結(jié)構(gòu)定義的末尾,最后一個(gè)分號(hào)之前,您可以指定一個(gè)或多個(gè)結(jié)構(gòu)變量,這是可選的。下面是聲明 book 結(jié)構(gòu)的方式:
struct books { char title[50]; char author[50]; char subject[100]; int book_id; }book;
2. 訪問(wèn)結(jié)構(gòu)成員
為了訪問(wèn)結(jié)構(gòu)的成員,我們使用成員訪問(wèn)運(yùn)算符(.)。成員訪問(wèn)運(yùn)算符是結(jié)構(gòu)變量名稱(chēng)和我們要訪問(wèn)的結(jié)構(gòu)成員之間的一個(gè)句號(hào)。您可以使用 struct 關(guān)鍵字來(lái)定義結(jié)構(gòu)類(lèi)型的變量。下面的實(shí)例演示了結(jié)構(gòu)的用法:
#include #include using namespace std; struct books { char title[50]; char author[50]; char subject[100]; int book_id; }; int main( ) { struct books book1; // 聲明 book1,類(lèi)型為 book struct books book2; // 聲明 book2,類(lèi)型為 book // book1 詳述 strcpy( book1.title, "learn c++ programming"); strcpy( book1.author, "chand miyan"); strcpy( book1.subject, "c++ programming"); book1.book_id = 6495407; // book2 詳述 strcpy( book2.title, "telecom billing"); strcpy( book2.author, "yakit singha"); strcpy( book2.subject, "telecom"); book2.book_id = 6495700; // 輸出 book1 信息 cout << "book 1 title : " << book1.title <