結(jié)構(gòu)體與共用體

結(jié)構(gòu)體與共用體

ID:42206938

大小:982.01 KB

頁數(shù):43頁

時間:2019-09-10

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

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

1、第12章結(jié)構(gòu)體與共用體C語言程序設(shè)計內(nèi)容提要結(jié)構(gòu)體類型與結(jié)構(gòu)體變量結(jié)構(gòu)體數(shù)組結(jié)構(gòu)體數(shù)組做函數(shù)參數(shù)結(jié)構(gòu)體指針結(jié)構(gòu)體指針做函數(shù)參數(shù)共用體問題的提出對數(shù)據(jù)類型的回顧:inta;floatb;charc;以上三種類型是系統(tǒng)已經(jīng)定義好的數(shù)據(jù)類型,其特性不能被用戶改變。學(xué)號姓名性別年齡成績家庭住址100310121王剛男1898.5北京100310122李曉銘男1978成都100310123王麗紅女2089南京100310124陳莉女1877上海問題:在程序中如何表示以下表格中的信息?例如1:structstudent{intnum;charname[2

2、0];charsex;intage;floatscore;charaddr[30];};⒉結(jié)構(gòu)體類型的聲明struct結(jié)構(gòu)體名{成員表列};成員的聲明:類型名成員名;⒈結(jié)構(gòu)體類型的引入例如2:structbirthday{intmonth;intday;intyear;};⒉結(jié)構(gòu)體類型的聲明struct結(jié)構(gòu)體名{成員表列};成員的聲明:類型名成員名;定義結(jié)構(gòu)體類型變量的方法⒈先聲明結(jié)構(gòu)體類型再定義變量名例如:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr

3、[30];};structstudentstudent1;變量定義方法的回顧:inta;a=3;floatb;b=3.5;charc;c=‘a(chǎn)’;10010LiFunM1887.5Beijingnumnamesexagescoreaddrstudent1:⒉在聲明類型的同時定義變量一般形式:struct結(jié)構(gòu)體名{成員表列}變量名表列;例如:structbirthday{intmonth;intday;intyear;}tom;⒊ 直接定義結(jié)構(gòu)體類型變量一般形式:struct{成員表列}變量名表列;例如:struct{intmonth;intd

4、ay;intyear;}tom,peter;4.結(jié)構(gòu)體類型的成員也可以是一個結(jié)構(gòu)體變量。例如:structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];charsex;intage;structdatebirthday;charaddr[30];};structstudentstudent1;numnamesexagebirthdaymonthdayyearaddr結(jié)構(gòu)體變量的初始化#includestructdate{intmonth;in

5、tday;intyear;};intmain(void){structstudent{charname[20];charsex;structdatebirthday;}a={“Mary”,'F',10,23,1985};printf("name:%ssex:%cbirthday:%d%d%d",a.name,a.sex,a.birthday.month,a.birthday.day,a.birthday.year);return0;}回顧:對整型變量的初始化inta=3;MaryFbirthday10231985從鍵盤輸入給結(jié)構(gòu)體

6、變量賦值#includestructdate{intmonth;intday;intyear;};intmain(void){structstudent{charname[20];charsex;structdatebirthday;}a;printf("input:");scanf("%s%c%d%d%d",a.name,&a.sex,&a.birthday.month,&a.birthday.day,&a.birthday.year);printf("name:%ssex:%cbirthday:%d%d%d"

7、,a.name,a.sex,a.birthday.month,a.birthday.day,a.birthday.year);return0;}結(jié)構(gòu)體變量的引用引用結(jié)構(gòu)體變量需遵守的規(guī)則:⑴不能將一個結(jié)構(gòu)體變量作為一個整體輸入輸出,只能對結(jié)構(gòu)體變量中的各個成員分別進(jìn)行輸入和輸出。引用結(jié)構(gòu)體變量中成員的方式:結(jié)構(gòu)體變量名.成員名例如:printf(“name:%ssex:%cbirthday:%d%d%d”,a);錯!a.sex=‘m’;正確!a.birthday.year=1988;⑵如果成員本身又屬于一個結(jié)構(gòu)體類型,則要用若干個

8、成員運算符,一級一級地找到最低一級的成員。只能對最低級的成員進(jìn)行賦值或存取以及運算。例如:a.birthday.year=1980a.birthday.day=23

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

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

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