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

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