1. 二維數組就是一塊連續的儲存空間,只是採取下標定址時才會當成表格。
例如:
#define V_NUM 10
#define H_NUM 20
char table[V_NUM][H_NUM];
定義一個這樣的二維數組,對於下面這種迴圈列印才把它看作是一個長度為H_NUM,高度為V_NUM的表格(如*圖)。
for(i=0; i{
for(j=0; j {
if(table[i][j] == 0)
printf("*");
else if(table[i][j] == 1)
printf("o");
}
printf("/n");
}
********************
********************
********************
********************
********************
********************
********************
********************
********************
********************
2. 修改數組中元素
i. 在使用者角度使用二維數組
例如:想畫一個如的飛機,其中只給出機頭位置(x, y),在表格中其實是table[y][x];跟定義和列印方法都有關係。
********************
********************
********************
*****o**************
*****o**o***********
****ooooo***********
*****o**o***********
*****o**************
********************
********************
ii. 二維數組定址問題
例如:使用者輸入(x, y)來設定機頭,下標移動要分析清楚。畫出機身,機頭(x, y),那個由上一個小問題可知是table[y][x]為起點,其中[x]向右移動5格畫出飛機。
總結今天使用二維數組的問題,終究歸於對其不熟悉,尤其是下標標記法。