更多來自:http://imcc.blogbus.com
3.8.1 打包復雜:結(jié)構(gòu)體的定義
其中,struct關(guān)鍵字表示要創(chuàng)建一個結(jié)構(gòu)體,結(jié)構(gòu)體名就是要創(chuàng)建的新結(jié)構(gòu)體的名字,通常使用結(jié)構(gòu)體描述的事物來作為結(jié)構(gòu)體的名字。在結(jié)構(gòu)體的內(nèi)部,我們分別使用多個不同數(shù)據(jù)類型的變量來表示復雜事物的各個屬性。因為這些變量共同組成了結(jié)構(gòu)體,所以這些變量稱為結(jié)構(gòu)體的成員變量。有了結(jié)構(gòu)體,就可以在結(jié)構(gòu)體中定義多個不同類型的成員變量,從各個屬性來描述一個復雜的事物。例如,可以這樣來定義描述人這個復雜事物的結(jié)構(gòu)體:
// 定義結(jié)構(gòu)體Human描述人這個復雜事物
struct Human
{
string m_strName; // 姓名
bool m_bMale; // 性別
int m_nAge; // 年齡
int m_nHeight; // 身高
float m_fWeight; // 體重
};
以前是用各個基本數(shù)據(jù)類型的變量來分別描述一個復雜事物的各個屬性。這里是將變量集合在一起,打包成一個結(jié)構(gòu)體,如圖3-5所示。有了結(jié)構(gòu)體,就可以定義一個統(tǒng)一的結(jié)構(gòu)體變量來描述一個具體的復雜事物,代替原來定義多個變量描述同一個事物。例如:
// 定義一個Human結(jié)構(gòu)體變量描述“陳良喬”這個人
// 這個結(jié)構(gòu)體包含了他的姓名、性別和年齡等信息
Human chenliangqiao;

圖3-5 將復雜事物打包成結(jié)構(gòu)體