結(jié)構(gòu)體、共用體與枚舉類型1

結(jié)構(gòu)體、共用體與枚舉類型1

ID:39628872

大?。?68.50 KB

頁數(shù):54頁

時間:2019-07-07

結(jié)構(gòu)體、共用體與枚舉類型1_第1頁
結(jié)構(gòu)體、共用體與枚舉類型1_第2頁
結(jié)構(gòu)體、共用體與枚舉類型1_第3頁
結(jié)構(gòu)體、共用體與枚舉類型1_第4頁
結(jié)構(gòu)體、共用體與枚舉類型1_第5頁
資源描述:

《結(jié)構(gòu)體、共用體與枚舉類型1》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第8章結(jié)構(gòu)體、共用體與枚舉類型本章要求:理解結(jié)構(gòu)體類型的概念,掌握結(jié)構(gòu)體變量的定義和使用;掌握結(jié)構(gòu)體數(shù)組、結(jié)構(gòu)體指針的定義和使用;理解鏈表的概念,掌握動態(tài)鏈表的常見操作;理解共用體的概念,掌握共用體變量的定義和使用。本章重點:動態(tài)鏈表的常見操作本章難點:動態(tài)鏈表的常見操作第8章結(jié)構(gòu)體、共用體與枚舉類型8.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量8.2結(jié)構(gòu)體數(shù)組8.3結(jié)構(gòu)體與函數(shù)8.4動態(tài)數(shù)據(jù)結(jié)構(gòu)——鏈表8.5共用體8.6枚舉類型8.7自定義類型標識符(typedef)第8章結(jié)構(gòu)體、共用體與枚舉類型8.1結(jié)構(gòu)體C語言提供一種能集中不同數(shù)據(jù)類型于一體的數(shù)據(jù)

2、類型—結(jié)構(gòu)體類型。結(jié)構(gòu)體類型的變量可以擁有不同數(shù)據(jù)類型的成員,是不同數(shù)據(jù)類型成員的集合。結(jié)構(gòu)體是一種構(gòu)造數(shù)據(jù)類型用途:把不同類型的數(shù)據(jù)組合成一個整體——自定義數(shù)據(jù)類型8.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量8.1.1什么是結(jié)構(gòu)體類型第4章學(xué)習(xí)的數(shù)組是一種簡單構(gòu)造類型數(shù)據(jù),數(shù)組中的各元素是屬于同一個類型的。但在實際處理的問題中,常會遇到這樣一類數(shù)據(jù),它由多個屬性各不相同的數(shù)據(jù)項組成,各個數(shù)據(jù)項用來描述一個共同的對象。結(jié)構(gòu)體(structure)是一種數(shù)據(jù)類型。C語言本身沒有提供具體的結(jié)構(gòu)類型,但提供了說明結(jié)構(gòu)體類型的方法。8.1.2結(jié)構(gòu)體的聲明聲明結(jié)

3、構(gòu)體類型的一般形式:struct結(jié)構(gòu)體名{結(jié)構(gòu)成員1;結(jié)構(gòu)成員2;……結(jié)構(gòu)成員n;};8.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量例如:定義一個可描述學(xué)生基本情況的結(jié)構(gòu)體類型如下:structstudent{intnum;charname[20];charsex;intage;floatscore;};8.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量例structstudent{intnum;charname[20];charsex;intage;floatscore;};structstudentstu1,stu2;8.1.3結(jié)構(gòu)體變量的定義定義好一個結(jié)構(gòu)體類型后(也可

4、以理解為是我們用戶自己定義的類型),我們可以將其看作是和int、char、float等數(shù)據(jù)類型一樣的一個新的數(shù)據(jù)類型,可以用它定義變量,通過變量對結(jié)構(gòu)體中各成員的數(shù)據(jù)進行處理。1.先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量一般形式:struct結(jié)構(gòu)體名{類型標識符成員名;類型標識符成員名;…………….};struct結(jié)構(gòu)體名變量名表列;8.1結(jié)構(gòu)體類型與結(jié)構(gòu)體變量2.定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量一般形式:struct結(jié)構(gòu)體名{類型標識符成員名;類型標識符成員名;…………….}變量名表列;例structstudent{intnum;char

5、name[20];charsex;intage;floatscore;}stu1,stu2;8.1.3結(jié)構(gòu)體變量的定義3.直接定義結(jié)構(gòu)體變量一般形式:struct{類型標識符成員名;類型標識符成員名;…………….}變量名表列;例struct{intnum;charname[20];charsex;intage;floatscore;}stu1,stu2;8.1.3結(jié)構(gòu)體變量的定義8.1.3結(jié)構(gòu)體變量的引用1.結(jié)構(gòu)體變量的引用格式結(jié)構(gòu)體變量名.成員名其中:“.”是成員運算符,它在所有的運算符中優(yōu)先級最高。例如,對上小節(jié)定義的學(xué)生情況結(jié)構(gòu)體

6、變量stu1變量進行賦值:stu1.num=10001;strcpy(stu1.name,”zhang”);stu1.sex=’M’;stu1.age=19;stu1.score=88;不能把結(jié)構(gòu)變量作為整體進行輸入輸出:scanf(“%d%s%c%d%f”,stu1);正確的引用方式可以是:gets(stu1.name);scanf(“%d%c%d%f”,&stu1.num,&stu1.sex,&stu1.age,&stu1.score);2.結(jié)構(gòu)體嵌套時逐級引用structdate{intmonth;intday;intyear;}

7、;structperson{charname[20];charsex;structdatebirthday;};若有定義:structpersonperson1;這時可以這樣訪問person1中的成員month:person1.birthday.monthnameSexbirthdaymonthdayyear8.1.3結(jié)構(gòu)體變量的引用8.1.3結(jié)構(gòu)體變量的引用3.3.同類型結(jié)構(gòu)體變量間的整體賦值結(jié)構(gòu)體變量可以通過整體賦值,將一個結(jié)構(gòu)體變量中的所有數(shù)據(jù),賦給另一個結(jié)構(gòu)體類型相同的結(jié)構(gòu)體變量中對應(yīng)的數(shù)據(jù)成員。例8-1建立一個學(xué)生的基本情況表

8、,然后將其打印輸出。程序如下:#include#includemain(){structstudent{intnum;charname[20];charsex;inta

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。