C 指標陣列

2023-01-10 01:01:00 字數 1039 閱讀 2188

1樓:匿名使用者

cout<<*(*(a+i)+j)<

首先你要了解

在一維陣列中:

*a表示第一個值,

a+1表示第二個值的指標,

*(a+1)表示第二個值的值

***********************************====

二維陣列屬於高階指標也就是**p

在*(*(a+i)+j)中:

*(a+i)在二維陣列中,是一個指標哦,不是值!!

*(*(a+0)+0)表示第一個值,

*(a+0)+1表示第一組的,第二個值的指標*(*(a+0)+1)表示第一組的,第二個值的值*(*(a+1)+1)表示第二組的,第二個值的值

2樓:飛翔的菜菜

你要記住 a[i]和*(a+i)等價的,

但在二維陣列中表示的是 地址。

在一位陣列中是直。

你可以這樣理解,

一個一位陣列,他的每個元素都是一個陣列,那他就是一個二維陣列,那麼a[i]或*(a+i)就表示相應的那個元素,而這個元素是一個陣列,

當然a[i]或*(a+i)指的就是這一陣列的首地址,以此推之,a[i]+j或*(a+i)+j就是&a[i][j]

3樓:檀木妍

這個是二維陣列,二維從一維類推:一維中a[i]的a是首地址,二維中a[i][j]的a[i]是第i行的首地址。在二維a[i][j]裡,a只能代表整個二維陣列儲存的第一個地址,但是不能代表每一行資料儲存的首地址,就好比一個班級裡,a代表的是整個班的班長,a[i]代表的是每個小組的小組長。

*(a+i)代表的是第i行的第一個元素的地址,*(a+i)+j就代表了第i行第j個元素的地址,*(*(a+i)+j)就代表了第i行第j個元素。

4樓:

這是一個二維陣列,把它當做一維陣列來看,每個過元素就是一個一維陣列,陣列名a是陣列首地址,則它指向第一個元素,*a則是這個元素,而這個元素本身是個陣列,所以*a只是陣列名而已,所以得再進行一次解引用,及**a才是這個二維陣列第一個元素。

C語言指標P1表示陣列A1指標的指標求解釋

你的定義應該大概是這樣吧,舉個例子 a 3 3 int p a 所以 p就相當於 a 0 0 畫了一幅內圖,你可以看一下 指標 容是一個雙重指標,是指向指標的指標 c中指標bai是指標,陣列是陣列,兩個du 沒有必然聯絡。zhi a i j 等價於daoa i j 說法不準確,應是 a i j 的值...

編寫逆向排序函式(陣列或指標)C謝謝

include void sort int x,int n void main i printf before the array is for i 0 i 6 i printf 3d a i 輸出呼叫前陣列 sort a,6 printf nafter the array is for i 0 i...

c語言中關於指向陣列的指標C語言中關於指向陣列的指標

char str 100 char pi str 相當於char pi pi str char ppi pi 這個地方抄錯了。應為char ppi pi 定義加 表明這是指標型別的變數 用的時候,就是用的指標,加 幹什麼。只有取指標所指變數的值,或給指標所指的變數賦值的等涉及指標所指的變數的時候,才...