




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章結構體7.1概述數組中的各元素具有相同的數據類型。在實際應用時,有時需要將不同類型的數據組合成一個有機的整體,便于進行程序設計。結構體屬于構造類型,其各元素的數據類型既可相同,亦可不同。結構體中的各元素亦稱為數據項或域。7.2定義結構體變量的方法所有的自定義類型變量的定義均有三種方法:先定義類型,后定義變量;類型和變量同時定義;直接定義變量7.2.1先定義類型,后定義變量; 格式: (1)先定義類型 struct結構體名 {類型標識符1:域標識符1; 類型標識符2:域標識符2;
…… 類型標識符n:域標識符n; }; (2)在使用結構體變量之前的適當位置,定義變量 struct結構體名變量名表; 注意: 1.此處struct不能省,只有“結構體名變量名表;”是錯誤的。 2.緊接在定義的右花括號后的分號是不能省略的,因為一個結構體定義就是一條語句。例7-1 main() { structdate { intyear,month,day; }; //右括號后不能缺少分號
structdatetoday; scanf("%d%d%d",&today.year,&today.month,&today.day); printf("%d年%d月%d日\n",today.year,today.month,today.day);}7.2.2類型和變量同時定義 格式: struct結構體名 {類型標識符1:域標識符1; 類型標識符2:域標識符2;
…… 類型標識符n:域標識符n;}變量名表;例如,可以用下面的方法定義一個日期變量workday。
structdate { intyear,month,day;}workday;7.2.3直接定義變量 格式: struct { 類型標識符1:域標識符1; 類型標識符2:域標識符2;
… 類型標識符n:域標識符n; }變量名表; 說明:直接定義變量只適合于該結構體類型只出現一次。7.3結構體變量的引用7.3.1結構體變量的引用 結構體變量名.域名例7-2:定義一個結構體變量t,從鍵盤上輸入3個域的值,并在屏幕上輸出。 main() { staticstruct { intm,d,y; }t; scanf("%d,%d,%d",&t.m,&t.d,&t.y); printf("%d,%d,%d\n",t.m,t.d,t.y); }7.3.2結構體變量的初始化可以在定義結構體變量的同時,對結構體變量進行初始化。例如: structxyz {inta; charc; }d1={1,'a'}; structdated2={2,'b'};例7-3: main() { inti; staticstruct { charno[9]; //學號
charkc[16]; //課程
intcj; //成績
}cjb1={"20051508","ENGLISH",85}; printf("\n學號:%s\n",cjb1.no); printf("課程:%s\n",cjb1.kc); printf("成績:%d\n",cjb1.cj); }7.3.3同類型結構體變量間的賦值 格式是:結構體變量1=結構體變量2;例7-4:定義兩個同屬于類型structdate的變量d1和d2,先對變量d1賦值,再將d1賦給變量d2。 structdate { intmm,dd,yy;}; main() { structdated1,d2; d1.mm=9; d1.dd=1; d1.yy=2004; d2=d1; printf("%d-%d-%d\n",d2.mm,d2.dd,d2.yy); }語句d2=d1;等價于執行下列3條語句:d2.mm=d1.mm;d2.dd=d1.dd;d2.yy=d1.yy;7.4結構體數組在實際應用中,可以把結構體定義為數組,數組的元素類型是結構體類型。 例如: typedefstructstudent { charno[10]; charname[8]; charsex[2]; structdatebirthday; intscore; }STUD; STUDs[50];這樣可以存放50個學生的課情況。7.5結構體應用實例例7-5:用結構描述學生成績,并處理一個學生和數據。例7-6:輸入某個日期,輸出第二天的日期。例7-7:建立學生選課表。本章小結 ①結構體是一種自定義類型,它不像char,int等是系統定義的標準類型。用戶在使用自定義類型前必須先定義,后使用。 ②結構體類型是把不同類型的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 以微粒為核心的科學探究課程教案
- 母愛的味道記母親的一件小事作文(15篇)
- 一件勇敢的事記敘文5篇
- 農業生產技術推廣應用情況表
- 我們的節日歡樂元旦記事作文(9篇)
- 個性化印刷品銷售合同
- 農業科技研究與成果轉化協議
- 詩歌與散文欣賞:高一語文教學專題
- 技術支持資源表-支持服務體系詳細介紹
- 2025年藝術設計專業入學考試試卷解答
- 集資買房協議書范本
- 蘭州大學《中國經濟史》2023-2024學年第二學期期末試卷
- 牙科手術安全核查流程與標準
- 風力發電項目居間合同
- 間歇性胃管插管護理
- 小學科學新教科版一年級下冊全冊教案(共13課)(2025春詳細版)
- 自發性氣胸PBL護理教學查房
- 2025年金華國企義烏市建投集團招聘筆試參考題庫含答案解析
- 道路白改黑施工方案及工藝
- 醫院常見消毒劑的使用
- 國開電大《流通概論》形考任務
評論
0/150
提交評論