- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 陣列與指標
第7章 陣列與指標 7-1 陣列的基礎 7-2 一維陣列的處理 7-3 二維與多維陣列的處理 7-4 陣列的函數參數 7-5 指標與記憶體位址 7-6 指標與陣列 7-7 指向函數的指標 7-1 陣列的基礎 7-1-1 什麼是陣列 7-1-2 靜態記憶體配置 7-1-3 為什麼使用陣列 7-1-1 什麼是陣列 「陣列」(Arrays)是一種程式語言的基本資料結構,可以將C語言資料型態的變數集合起來,使用一個名稱代表,然後以索引值存取元素,每一個元素相當於一個變數,如下圖所示: 7-1-2 靜態記憶體配置 C語言的靜態記憶體配置是指在編譯階段,程式碼就已經配置宣告變數所需的記憶體空間。 例如:在本章前宣告基本資料型態的變數或整數陣列data,如下所示: int a, b, c; int data[100]; 上述變數和陣列,在編譯階段就已經配置所需的記憶體空間,每一個整數佔用4個位元組,陣列宣告100個元素,共需100x4共400位元組的記憶空間。 7-1-3 為什麼使用陣列 第一種方法使用數個變數儲存成績,這種方法的擴充性很差,如果小考次數改變,增加為10、50、100次或減少為3次,程式都需要大幅修改計算總分部分的程式碼。 第二種方法使用陣列儲存成績擁有較好的擴充性,當小考次數更改時,只需更改陣列大小,就可以使用相同的for迴圈來計算成績,更改迴圈次數還可以適用在100、200次的成績計算,而不用寫出冗長的加法運算式。 7-2 一維陣列的處理 7-2-1 宣告一維陣列 7-2-2 使用迴圈存取陣列元素 7-2 一維陣列的處理 「一維陣列」(One-dimensional Arrays)屬於最基本的陣列結構,只擁有一個索引,如同現實生活中的單排信箱,可以使用信箱號碼取出指定門牌的信件。 7-2-1 宣告一維陣列-語法 C語言的陣列宣告分成三個部分:陣列型態、陣列名稱和陣列維度,其宣告語法,如下所示: 陣列型態 陣列名稱[整數常數] 上述語法宣告一維陣列,因為只有一個「[]」(一個「[]」表示一維,二維就有2個),因為陣列是同一種資料型態的變數集合,如同基本資料型態的宣告,陣列型態就是陣列元素的資料型態,整數常數是陣列大小,也就是陣列擁有多少個元素。 7-2-1 宣告一維陣列-宣告 現在我們就可以宣告一維陣列,例如:一個浮點數陣列scores,如下所示: double scores[5]; 上述程式碼宣告double資料型態的陣列,陣列名稱為scores,整數常數5表示陣列擁有5個元素。 7-2-1 宣告一維陣列-圖例 程式執行時會配置記憶體給宣告的陣列,如下圖所示: 7-2-1 宣告一維陣列-存取陣列元素1 接著就可以從索引值0開始(C語言的陣列索引是從0開始),指定陣列元素的值,如下所示: scores[0] = 45.6; scores[1] = 78.9; scores[2] = 97.3; scores[3] = 56.7; scores[4] = 45.8; 上述程式碼指定陣列元素的值,此時5個陣列元素,如下圖所示: 7-2-1 宣告一維陣列-存取陣列元素2 在運算式取得陣列元素的值來進行計算,如下所示: sum = scores[0] + scores[1] + \ scores[2] + scores[3] + \ scores[4]; 上述程式碼就是各陣列元素相加的運算式。 7-2-1 宣告一維陣列-陣列的初值 在前面的陣列是使用指定敘述指定陣列元素值,C語言的陣列也可以在宣告時用時指定陣列初值,例如:宣告整數的一維陣列,如下所示: int tips[] = {100, 200, 500}; 7-2-2 使用迴圈存取陣列元素-走訪 使用迴圈走訪整個陣列計算總和,例如:使用for迴圈顯示陣列的每一個元素和計算總和,如下所示: for ( i=0; i LENGTH; i++) { sum += scores[i]; printf(成績: %.3f\n, scores[i]); } 7-2-2 使用迴圈存取陣列元素-活用常數 常數LENGTH是陣列大小,這是定義在程式開頭的常數,如下所示: #define LENGTH 5 #define指令定義常數LENGTH,換句話說,陣列只需使用常數就可以宣告陣列大小,如下所示: double scores[LENGTH]; 7-3 二維與多維陣列的處理 7-3-1 多維陣列的宣告 7-3-2 巢狀迴圈存取多維陣列 7-3 二維與多維陣列的處理 多維陣列是指「二維陣列」(Two-dimensional Arrays)含以上維度的陣列,屬於一維陣列的擴充,如果將一維陣列想像成一度空間的線,二維陣列就
文档评论(0)