1. 二維陣列的定義及初始化
int arr[3][4]=,,};
int brr[3][3]=,,};
int crr [3][4]=;
int drr[3][4]=;
drr[2][1]=1; //把第乙個格仔置為1,其餘為0
int err[3][4]=;//初始化將其中乙個格仔置為1,其餘為0
int frr[4]=;//遵循行優先原則
2. 呼叫函式,通過二維陣列傳參
如下所示:
void show(int arr[4])//行數可省略,列數不可省略
//or void show(int (*arr[4])
printf("\n");}}
int main()
;show(arr);
return 0;
}
3. 二維陣列在記憶體中儲存方式是,後一行直接跟在前一行的後面,位址挨著。
這個可以用**執行進行驗證,如2中的例子,分別輸出arr[0][3]和arr[1][0]的位址
看二者的位址是否相同。
4. 看清資料型別
一維陣列,如int arr[4]中:
arr——int *
arr+1——int *
arr[0]——int
二維陣列,如int brr[3][4]中:
brr——int(*p)[4]
brr+1——int(*p)[4]
brr[0]——int * (二維陣列中brr[0]相當於乙個一維陣列即arr)
brr[0]+1——int *
brr[0][0]——int
5. 陣列指標和指標陣列
int (*p)[4]
//指向陣列的指標(陣列指標)
int *p[4]
//乙個含有4個格仔的陣列,陣列裡是整型指標。即儲存指標的陣列(指標陣列)
其實,在個人理解時,可以在中間加個「的」字,如「陣列的指標」,中心詞是指標,意思就是它是乙個指標,這個指標指向乙個陣列。又如「指標的陣列」,中心詞是陣列,意思就是,它是乙個陣列,陣列的每個格仔儲存的是指標。
二維陣列及二維陣列的遍歷
一 如果陣列的元素是一維陣列 則該陣列是二維陣列 如果陣列的元素是二維陣列 則該陣列是三維陣列 注意 二維陣列的長度 是陣列內一維陣列的個數 獲取二維陣列內的元素 第一步獲取該元素在哪乙個一維陣列內 第二步獲取該元素在一維陣列的那個位置 false var arr 1,2,3 var arr1 你好...
二維陣列 二維陣列和指標
include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...
陣列 二維陣列
一組相同型別的資料組合,是一種引用型別。陣列名稱不是固定的,與其存放的資料的型別有關。如 存放int型別的資料,陣列名稱 int 存放字串資料,陣列名稱 string 存放scanner型別的資料,陣列名稱 scanner陣列中的每個資料,都是這個陣列的元素。1 宣告 元素型別 變數名 元素型別 變...