更新時(shí)間:2020-11-30 來(lái)源:黑馬程序員 瀏覽量:
C語(yǔ)言中結(jié)構(gòu)體類型是由不同的類型的數(shù)據(jù)組成的,組成結(jié)構(gòu)體類型的每一個(gè)數(shù)據(jù)都稱為該結(jié)構(gòu)體類型的成員。在程序設(shè)計(jì)中,使用結(jié)構(gòu)體時(shí),首先要對(duì)結(jié)構(gòu)體類型的組成進(jìn)行描述,結(jié)構(gòu)體的定義方式如下:
struct 結(jié)構(gòu)體類型名稱 { 數(shù)據(jù)類型 成員名1; 數(shù)據(jù)類型 成員名2; …… 數(shù)據(jù)類型 成員名n;};
在上述格式中,struct是定義結(jié)構(gòu)體類型的關(guān)鍵字,struct關(guān)鍵字后面是結(jié)構(gòu)體類型名稱。在結(jié)構(gòu)體類型名稱下的一對(duì)大括號(hào)中,聲明了結(jié)構(gòu)體類型的成員,每個(gè)成員由數(shù)據(jù)類型和成員名共同組成。
以描述學(xué)生信息為例,假設(shè)學(xué)生信息包含學(xué)號(hào)(num)、姓名(name)、性別(sex)、年齡(age)、地址(address),那么,存儲(chǔ)學(xué)生信息的結(jié)構(gòu)體類型可以定義為下列格式:
struct Student{ int num; char name[10]; char sex; int age; char address[30]; };
在上述定義中,結(jié)構(gòu)體類型struct Student由5個(gè)成員組成,分別是num、name、sex、age和address。
在定義結(jié)構(gòu)體類型時(shí),需要注意以下幾點(diǎn):
(1)結(jié)構(gòu)體類型定義以關(guān)鍵字struct開頭,后面跟的是結(jié)構(gòu)體類型的名稱,該名稱的命名規(guī)則與變量名相同;
(2)結(jié)構(gòu)體類型與整型、浮點(diǎn)類型、字符類型等類似,只是數(shù)據(jù)類型,而非變量。
(3)定義好一個(gè)結(jié)構(gòu)體類型后,并不意味著編譯器會(huì)分配一塊內(nèi)存單元存放各個(gè)數(shù)據(jù)成員,它只是告訴編譯系統(tǒng)結(jié)構(gòu)體類型由哪些類型的成員構(gòu)成、各占多少字節(jié)、按什么格式存儲(chǔ),并把它們當(dāng)作一個(gè)整體來(lái)處理。
(4)定義結(jié)構(gòu)體類型時(shí),末尾的分號(hào)不可缺少。
猜你喜歡: