- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap15-struct與資料結構.ppt
Chap 15 struct與資料結構 struct 可以在同一個名稱下擁有多種資料型態。使用struct能讓資料的存取和處理更為靈活。 struct與資料結構 15.1 struct的宣告和使用 15.2 由struct構成的陣列 15.3 struct資料型態與函數參數的傳遞 15.4 struct實例的動態宣告 15.5 指標成員與資料結構 15.6 union資料型態 15.7 enum資料型態 struct的宣告和使用 組成份子稱為成員 (member) 或資料欄位 (data field)。 成員可以是各種不同的資料型態 (複合式資料型態)。 關鍵字struct是英文 structure (結構) 的縮寫,此種資料結構又稱為記錄(record)。 struct資料型態的宣告範例 Employee包括的資料成員有Name (姓名)、Phone (電話號碼) 以及Id (編號) 三種: struct Employee { char Name[20]; char Phone[10]; int Id; }; // 注意這要用到「;」! Struct 在記憶體中的儲存方式 各成員的儲存位置是連續的: 使用struct 資料型態定義變數 可以使用標準的定義敘述。例如: Employee Ea, Eb; 定義了兩個名稱分別為Ea和Eb的Employee變數。 由某一資料型態定義的變數稱為該資料型態的實例 (instance)。 定義變數時一併給予初始值 例如,上面的敘述可進一步寫成: Employee Ea = {Ann, 105}; Employee Eb = {Joanne, 106}; 要存取Employee變數的個別資料欄位 必需同時給定變數名稱和資料成員名稱,中間用一個成員運算符號 (member operator)「.」隔開。例如: Ea.Name // 其值目前分別為 “Ann” Eb.Phone // 其值目前分別為 Ea.Id // 其值目前分別為105 分別用來代表Ea這個Employee變數的三個成員,其值目前分別為“Ann”,和105。這個語法基本上和我們在10.1節介紹的成員函數的語法是一致的。 範例程式TestStruct.cpp 如何使用struct宣告自訂的資料型態,以及各欄位內的資料如何存取。 範例程式 檔案 TestStruct.cpp // TestStruct.cpp #include iostream using namespace std; struct Employee { char Name[20]; char Phone[10]; int Id; }; // ----- 主程式 ---------------------------- int main() { EmployeeEa= {Ann, 105}; Employee Eb = {Joanne, 106}; cout Ea 的資料是:\n 姓名 : Ea.Name \n 電話號碼: Ea.Phone \n 編號 : Ea.Id endl; cout Eb 的資料是:\n 姓名 : Eb.Name \n 電話號碼: Eb.Phone \n 編號 : Eb.Id endl; return 0; } 執行結果 合併struct資料型態的宣告和變數的定義 例如: struct { char Name[20]; char Phone[10]; int Id; } Ea, Eb; 由於粗體字的部份本身就是已經是新定義的資料型態之具體內容,不用再取個名稱來代表它。 比較資料型態變數的語法 由struct構成的陣列 結合陣列和struct,可以一次完成很多具有相同結構的struct變數的定義。 例如,可以使用 Employee Officer[50]; 同時定義從Officer[0] 到Officer[49],共50個Employee變數 struct陣列各欄位的資料 cout Officer[8].Name endl; cout Of
您可能关注的文档
- (a)、煎煮时间(b).ppt
- (標售機關)公告(備查本)(通信投標方式)-苗栗縣溪洲國民小學.doc
- (m+n)个数的平均数是a.ppt
- (第5章)2014.ppt-食品理化检验.ppt
- (广东医科大学)(广东医科大学化学楼实验室通风系统设备.doc
- (1'40)影片出處科學實論40131~0251(全片長100分鐘)發行片商.ppt
- (集团)经营实力排名申报表-上海市建筑施工行业协会.doc
- (修辭)比喻比擬借喻借代.ppt.ppt
- (一)dna浓度的分光光度计测定.ppt
- (幸福岛)++herathera+island+resort+.ppt.ppt
- 人教版英语5年级下册全册教学课件.pptx
- 部编人教版2年级上册语文全册教学课件含单元及专项复习.pptx
- 人教版8年级上册英语全册教学课件(2021年8月修订).pptx
- 教科版(2017版)6年级上册科学全册课件+课时练.pptx
- 人教版PEP版6年级英语下册全册教学课件(2022年12月修订).pptx
- 部编人教版2年级下册语文全册课件(2021年春修订).pptx
- 人教版数学6年级下册全册教学课件(2023年教材).pptx
- 湘少版5年级下册英语全册教学课件(2021年春修订).pptx
- 人教PEP4年级下册英语全册教学课件 [2}.pptx
- 人教版6年级上册英语全册教学课件.pptx
文档评论(0)