二維陣列和指標

2021-08-30 06:44:27 字數 1009 閱讀 5176

二維陣列和指標的表示含義

例:void show()

printf("\n");}}

int mian()

;show(arr);

return 0;

}int brr[4]=

int *p=brr;

怎樣傳二維陣列的引數?

如果是一維陣列的話,可以引數可以為int arr;但為二維,有點特殊。

在一維陣列中arr可以代表陣列名,同時也可以表示為陣列的首個元素的位址即arr。

先定義乙個長度為4的一維陣列int brr[4]和二維陣列的分布;

如圖:

比較一位陣列與二維陣列的不同:

一維陣列的brr可以作為指標,同樣arr也可以當指標,但二維陣列arr作為指標的話,先把陣列分為三大塊如圖中的紅,黃,紫,看成是三個一維陣列,即為一整行.所以arr表示的型別為int(*p)[4]陣列指標,(*p)表示為指標型別,如果不加"()"就變為int * p[4],而 比 * 的優先順序高,相當於int * (p[4]),所以就成為儲存陣列的指標,即陣列指標。arr+1為指標加一同樣也是指標,arr[0]相當於一維陣列的brr[0],brr[0]相當於brr,而brr又是指標型別,所以arr[0]同樣也是指標int *p型別,同理arr[0]+1,與一位陣列的brr+1相同,也是int * p型別。arr[0][[0]表示裡面的元素值,arr[0][0]+1表示元素值加一。

所以傳引數可以寫為void show(int (*brr)[4])

int (*p)[4]:指向乙個長度為4的整型陣列的指標。陣列指標。

int * p[4]:儲存指標的陣列。指標陣列。

int * fun():返回指標函式。指標函式。

int (*f)():指向函式的指標。函式指標。

二維陣列 二維陣列和指標

include using namespace std int main 如上面這段程式所示,通過取位址符 指標 p 獲得了變數 a 的位址,那麼解引用符 就可以從 p 中得到變數 a 的值。也就是說,p a和 p a是等價的。p 是變數 a 的位址,從 p 中就可以取出 a 的值。反之,能從 p ...

二維指標和二維陣列

二維指標和二維陣列有三種形式 1,type ptr 2,type ptr或者type prt 3,type prt 三種形式意思相近,也有區別。首先三種形式都能表示二維的資料結構。1,type ptr 表示乙個指向指標的指標 但是在一開始宣告的時候 type ptr ptr到底指向幾個指標是不知道的...

二維陣列和指標

二維陣列和指標 用指標表示二維陣列元素。要用指標處理二維陣列,首先要解決從儲存的角度對二維陣列的認識問題。我們知道,乙個二維陣列在計算機中儲存時,是按照先行後列的順序依次儲存的,當把每一行看作乙個整體,即視為乙個大的陣列元素時,這個儲存的二維陣列也就變成了乙個一維陣列了。而每個大陣列元素對應二維陣列...