- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言完美的演绎
第10章 自定資料型別 10-1 struct 結構資料型別 一、結構的定義與宣告 處理一個含有客戶代號、姓名、電話號碼的客戶連絡簿。 三種不同性質的資料,需使用三個陣列來存放。 對客戶代號排序時,碰到需要做交換時,必須三個陣列同時作交換,以保持資料的一致性。 太多的陣列做交換時會增加程式碼長度且不易閱讀。 C 另提供一種使用者自定型別(User Defined Type) 稱為結構(struct)或記錄(Record) 結構允許將不同資料型別的資料放在一起構成一筆記錄,不像陣列必須分成多個陣列來存放該筆資料。 結構是由一些邏輯相關的資料欄或稱為欄位(Field)所構成。 例如一位客戶的資料是由客戶代號、姓名、電話號碼不同資料型別組合就構成一筆記錄。 該記錄擁有「客戶代號」、「姓名」、「電話號碼」三個欄位。 多筆客戶電話記錄的集合就構成一個結構陣列。 所謂結構陣列即陣列中的每個元素都對應到一個結構: 將結構中的每個資料型別稱為 欄位。 每個欄位都要賦予一個欄位名稱。 結構在使用前必須先定義,再宣告才可使用。 定義結構資料型別的語法如下: 結構定義完畢,便可使用該結構名稱來宣告結構變數或結構陣列。 語法: struct 結構型別名稱 變數1, 變數2, …變數N ; 說明: 1. 結構型別名稱命名規則和變數名稱同。 2. 結構內欄位名稱的命名規則亦和變數同。 3. 結構中某個欄位使用點號分隔 student.name 4. 結構也可宣告成結構指標變數,若要使用結構指標來存取其欄位名稱,必須在結構指標和欄位名稱中間加上”-” 如: student-name 5. 結構變數也可宣告為陣列,也就是每個陣列元件都具有結構型態 6. 如:struct stu_struct stu[100]; 表示stu含有100個元件的結構陣列,每個元件都具有stu_struct結構型態。 簡例 定義一個名稱為pc的結構,該結構含有品名(item_Name)、單價(price)和數量(qty)三個欄位: 下面敘述用來設定各欄位的初值: // FilName : struct1.c 01 #include stdio.h 02 #include stdlib.h 03 04 struct product 05 { 06 char *item_name; 07 int price; 08 int qty; 09 }; 10 11 int main(int argc, char *argv[]) 12 { 13 struct product book1, book3; 14 struct product book2={Visual C# 2008, 650, 100}; 15 book1.item_name = Visual Basic 2008; 16 book1.price=690; 17 book1.qty=300; 18 printf(book1.item_name=%s\n, book1.item_name ); 19 printf(book1.price=%d\n, book1.price ); 20 printf(book1.qty=%d\n\n, book1.qty ); 21 printf(book2.item_name=%s\n, book2.item_name ); 22 printf(book2.price=%d\n, book2.price ); 23 printf(book2.qty=%d\n\n, book2.qty ); 24 printf( book1 結構拷貝給book3 ... \n); 25 book3=book1; 26 printf(----------------------------------\n); 27 printf(book3.item_name=%s\n, book3.item_name ); 28 printf(book3.price=%d\n, book3.price ); 29 printf(book3.qty=%d\n\n, book3.qty ); 30 system(PAUSE); 31 return 0; 32 } // FileName : struct2.c 01 #include stdio.h 02 #include stdlib.h 03 struct stru_course 04 { 05 char name[20]; 06 i
您可能关注的文档
最近下载
- RIGOL普源PVP2350 无源探头用户手册.pdf VIP
- 电气试验管理制度.docx VIP
- 考研真题东北农业大学食品学院816食品生物化学历年考研真题汇编.docx VIP
- 化学锚栓计算(修改版).xls VIP
- osi七层模型教学课件.ppt VIP
- 新民主主义革命理论PPT2024版毛泽东思想和中国特色社会主义理论体系概论课件.pptx VIP
- ZOOM声乐乐器L-12快速入门(Chinese)说明书用户手册[1].pptx VIP
- 《成人密闭式吸痰技术操作规范》.pdf VIP
- 《图纸会审(表格)》.docx VIP
- 北京市房屋租赁合同(2008版-新)【模板范本】 .pdf VIP
文档评论(0)