c语言铁道,C语言程序设计(方少卿) 铁道C第8章(修订版).pdf
第第88章章 結(jié)構(gòu)體、共用體與枚舉結(jié)構(gòu)體、共用體與枚舉
? 8.0 結(jié)構(gòu)體引例
? 8.1 定義結(jié)構(gòu)體的一般形式
? 8.2 結(jié)構(gòu)體類(lèi)型變量的定義
? 8.3 結(jié)構(gòu)體變量成員的引用方法
? 8.4 結(jié)構(gòu)體變量的初始化
? 8.5 結(jié)構(gòu)體數(shù)組的定義
? 8.6 結(jié)構(gòu)體指針變量的定義和使用
? 8.7 動(dòng)態(tài)存儲(chǔ)分配
? 8.8 鏈表
? 8.9 共用體類(lèi)型
? 8.10 枚舉類(lèi)型
? 8.11 類(lèi)型定義符typedef
? 8.12 復(fù)習(xí)指南
1
8.08.0 結(jié)構(gòu)體引例結(jié)構(gòu)體引例
? C語(yǔ)言的結(jié)構(gòu)體類(lèi)型相當(dāng)于其它高級(jí)語(yǔ)言的
“記錄”。結(jié)構(gòu)體類(lèi)型的變量可以擁有不同數(shù)
據(jù)類(lèi)型的成員,是不同數(shù)據(jù)類(lèi)型成員的集合。
結(jié)構(gòu)體在C語(yǔ)言中相當(dāng)重要,與指針同屬C語(yǔ)言
的精華。
? 【引例】設(shè)計(jì)一個(gè)學(xué)生的情況登記表,要求有
學(xué)號(hào)(number )、姓名(name )、性別
(sex )、年齡(age )、家庭地址(address )
和三門(mén)課成績(jī)(achie )。三門(mén)課是語(yǔ)文
(chinese )、數(shù)學(xué)(math )和英語(yǔ)(english )。
如圖8-1所示。
2
3
8.18.1 定義結(jié)構(gòu)體的一般形式定義結(jié)構(gòu)體的一般形式
struct 結(jié)構(gòu)體名
{ 類(lèi)型標(biāo)識(shí)符成員1;
類(lèi)型標(biāo)識(shí)符成員2 ;
…
類(lèi)型標(biāo)識(shí)符成員n ;
} ;
– 各個(gè)成員可以是基本類(lèi)型,也可以是結(jié)構(gòu)體類(lèi)型,即結(jié)構(gòu)體
類(lèi)型定義允許嵌套。
– 有的結(jié)構(gòu)體可能包含很多成員,有些成員本身也可能很復(fù)雜
4
? 例如,圖8-1中表示兩個(gè)結(jié)構(gòu)體,一個(gè)是student結(jié)
構(gòu)體,另一個(gè)是score結(jié)構(gòu)體。用C語(yǔ)言來(lái)表示這
種結(jié)構(gòu)體的定義如下:
struct student
struct score {
{ int number;
float chinese; char name[9];
float math; char sex;
float english; int age;
}; char address[30] ;
struct score achie; /*achie是struct score類(lèi)型*/
};
5
8.28.2 結(jié)構(gòu)體類(lèi)型變量的定義結(jié)構(gòu)體類(lèi)型變量的定義
? C語(yǔ)言的結(jié)構(gòu)體定義就像C語(yǔ)言的保留字
int一樣,需要指定結(jié)構(gòu)體類(lèi)型的變量,
才能對(duì)結(jié)構(gòu)體中各個(gè)成員進(jìn)行操作。
? 結(jié)構(gòu)體類(lèi)型變量的定義形式:
– (1)先定義結(jié)構(gòu)體類(lèi)型,再定義結(jié)構(gòu)體類(lèi)型變量。
– 例如:struct student Na, Nb, Nc; /*結(jié)構(gòu)體的定義見(jiàn)【引例】
*/
– (2 )定義結(jié)構(gòu)體類(lèi)型同時(shí)定義結(jié)構(gòu)體類(lèi)型變量。
總結(jié)
以上是生活随笔為你收集整理的c语言铁道,C语言程序设计(方少卿) 铁道C第8章(修订版).pdf的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言算法竞赛入门经典百度云,《算法竞赛
- 下一篇: 微信怎么找不到银乐融