c程式中如果p指向某二維陣列的某個元素那麼pi是

2021-04-20 03:19:55 字數 2288 閱讀 9763

1樓:

無論幾維陣列,只要指標p已經指向了某個元素,那麼p[i]就是第i個元素值(i從0起算)。當然i有限定的取值範圍。

2樓:fu法c克k油

p[i]指的是

*(p+i)

3樓:

p[i]就是指向第i行。

p是指向陣列中某個特定元素的指標 那麼p+i 與 *(p+i)、*p++有什麼區別? 請詳細說明下~ 謝謝~~~~~~

4樓:

p+i :表示第i個元素的指標,其值為第i個元素的位址。

*(p+i):表示第i個元素,其值為第i個元素的值。

*p++:表示取p所指元素的值,並將p指向下乙個元素。

5樓:完蛋鬧

如果只是baip+i的話,相當du什麼都沒做,p還是指向zhi那個元素(在這我假設是dao

回data)...

*(p+i)表示的是從元素data開始,向答後數i次,數到的那個數就是*(p+i)表示的值...

++的優先順序比*高,所以*p++表示的是data後面那個元素的值...

6樓:孫永超

p+i是乙個位址陣列a[i]的位址,*(p+i)相當於a[i]為乙個值,*p++相當於*p;p++這兩條語句

c++中有二維陣列a[3][3],指標p指向&a[0][0]那麼請問p[1]表示什麼啊?

7樓:子非退而結網

二維陣列如:

a[3][3];

a[0] = ;

a[1] = ;

a[2] = ;

p指向二維陣列;

p[1] == a[1]

c語言中如(*p)[3]如果出現這*(*(p+i)+j)兩個*是什麼意思啊,求解啊

8樓:

p為指向3個元素的一維陣列的指標

p+i表示第i個包含3個元素的一維陣列的首位址*(p+i),對p+i解引用,得到p+i的內容,為一維陣列p+i的首元素的首位址

*(p+i)+j,一維陣列p+i的第j個元素的位址*(*(p+i)+j),一維陣列p+i的第j個元素的內容如果p指向乙個二維陣列a[i][j],那麼*(*(p+i)+j)等價於a[i][j]

9樓:

//舉例說明。

int a[2][3]=;

int (*p)[3]=a; //p的型別與a相同,這兒表示p指向陣列第一行。

printf("%d\n",*(*(p+1)+1)); //*(*(p+1)+1)等價於a[1][1],這兒的值為5。

10樓:匿名使用者

我們這樣來看

int arr[3] 這是乙個大小為3的整型陣列那麼int (*p)[3] 這就是乙個指向上述陣列的指標所以p+i也是乙個指向上述陣列的指標,即 *(p+i) 和上述陣列是同型別的

那麼 *(p+i)+ j 你就可以看成是 arr + j 了,就是指向上述陣列第j個位子的指標,接著就是*號取值了

請問c++中指標與二維陣列,下面圖中程式裡的 *(p+i*3+j) 是什麼意思啊? 謝謝 20

11樓:匿名使用者

這個利用的是二維陣列還是順序儲存的特點來直接計算a[i][j]的儲存位置

*(p+i*3+j)就是a[i][j],因為p是指向首元素的元素指標,a每行有3個元素,這樣a[i][j]按行優先儲存時,和a[0][0]差了這麼多個元素:i*3+j

a[0] 就是a[0][0]的位址

12樓:匿名使用者

*(p+i*3+j) 相當於 a[i][j]

c語言中,指標*p[i]與p[i]有什麼卻別?分別代表什麼意思?

13樓:匿名使用者

若果我還沒記錯的話:

你的問題:你這裡問的是指標

p[i]:陣列p的[i]這個地方放的值

*p[i]:陣列p的[i]這個地方放的值(這當做乙個位址)的值,即p[i]這個地方放了乙個位址(相當於另外乙個p[i]),然後用*讀取他所代表的值。----即我所說的:

陣列p的[i]這個地方放的值(當做乙個位址)的值

14樓:某李某

*p[i]指的是裡面的值。

p[i]子的是位址,也就是裡面的值所在的位址。

二維陣列a中p a,當 p後為什麼指向的是a

a是乙個二級源指標 指向乙個指標陣列,為a 0 a 1 a 2 a 0 a 1 a 2 又分別是指標,指向他們的兒子 所以p a p p本來指向a 0 後增一,指向a 1 a 1 就是a 1 0 p i j p i求行下標自j是列bai下標 dup i j p i 是行下標,j是列下標 p i j ...

c語言 二維陣列指標中的和,C語言 二維陣列指標中的 和

要回答你的這個問題,不妨先根據你的問題先編寫一段小的示例程式 include include using namespace std int a 3 4 int main 這段示例程式在我本地上執行的結果為 a i 0 4214816 a i 4214816 a i 4214816 a i 0 42...

如何讓該程式的指標指向二維陣列,並返回

在轉置函式中,宣告瞭轉置後的指標變數,但沒有給指標變數分配地址。可以使用下面的方法 include int transposition int p 3 for int i 0 i 2 i for int j 0 j 3 j b j i p i j return b void main 執行結果如下 ...