二維陣列的世界

2021-08-19 03:21:54 字數 1074 閱讀 4241

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 宣告 元素型別 變數名 元素型別 變...