二維陣列的宣告與使用

文章推薦指數: 80 %
投票人數:10人

(5) char a[3][5] = {"Book", "Dog", "Fish"}; // 這個陣列宣告方式基本上與上例(4)相同,其概念是用「字串」去包 含「字元」,寫法要簡潔的多。

但使用時要記得每個字 ... 二維陣列的宣告與使用 ◎ 概念:如果要大量儲存同一種型態、而且彼此又有密切關係的「表格式」資料,例如數學中的矩陣,這時候就應將其宣告並設定為「二維陣列」。

◎語法範例: (1) int a[50][3];        //宣告整數二維陣列a,其內容可以看成是一個棋盤表格,共有50列(橫排),每列3個元素;                             例如要儲存50位同學的三科成績,就可以這樣宣告。

其中第1位同學的第1科成績是                             a[0][0],第5位同學的第3科成績是a[4][2],餘類推。

(※記得陣列的起始元素要從0開始) (2) int a[3][4]={{2,5,7,1},{9,4,3,15},{6, 10,8,5}};     // 在宣告二維陣列時,可以同時設定初值 (3) int a[3][4]={0}; // 這是特別的初值設定法,會把二維陣列中每個元素都設為0 (4) chara[3][5]={{'B','o','o','k','\0'},{'D','o', 'g','\0','\0'},{'F','i','s','h','\0'}}; // 這是字元型態的二維陣列宣告與                                                                                                                初值設定,請注意字元 '\0' (5) chara[3][5]={"Book","Dog","Fish"};    //這個陣列宣告方式基本上與上例(4)相同,其概念是用「字串」去包                                                       含「字元」,寫法要簡潔的多。

但使用時要記得每個字串後面都有                                                       一個隱藏的結束字元'\0' ◎二維字元陣列與字串陣列的應用方法: 一般在字串資料的應用上,常常會使用到字串陣列,例如要將星期日至星期六的英文單字建立成陣列,則我們常會使用下列的宣告方式: char  week[7][10]={"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY",                              "SATURDAY"}; 這種宣告就是所謂的字串陣列,而結構上是屬於二維字元陣列,其實際的資料內容可以用下面表格來表示:   0 1 2 3 4 5 6 7 8 9 0 S U N D A Y \0 ? ? ? 1 M O N D A Y \0 ? ? ? 2 T U E S D A Y \0 ? ? 3 W E D N E S D A Y \0 4 T H U R S D A Y \0 ? 5 F R I D A Y \0 ? ? ? 6 S A T U R D A Y \0 ? 當我們作了這樣的宣告之後,後續的應用就有一些值得注意的地方: (1) week[x][y]這樣的寫法代表「字元」。

例如 putchar(week[0][1])會印出字元'U',putchar(week[2][3])會印出     字元'S',week[3][0]='P'會把該位置的內容從'W'改成'P'。

(2) week[x]這樣的寫法代表「字串」。

例如 puts(week[0])會印出字串"SUNDAY",puts(week[1])會印出字串     "MONDAY"。

其實講的更專業一點,week[x]所表示的是week[x][0]這個字元的記憶體位址,這在以後     講到『指標』這個單元時,還會再詳細說明。



請為這篇文章評分?