c語言中如P如果出現這Pij兩個是什麼意思啊,求解啊

2021-03-07 09:29:20 字數 2608 閱讀 3871

1樓:

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]

2樓:

//舉例說明。

int a[2][3]=;

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

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

3樓:匿名使用者

我們這樣來看

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

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

c語言中 int a【3】【3】,(*p)【3】;p=a【0】; ??*(p+1)[2]指的是什麼

4樓:

*(p+1)[2],指的是第2行的第3個元素的值

5樓:玩酷小孩愛狐狸

*(p+1)[2],p指向二維陣列a的第0行的行首元素的地址,也就是a[0][0]所對應的地址

6樓:匿名使用者

??*(p+1)[2]這段**應該是制一段錯誤bai的**.

*(p+1)這段**應該是*/指標

7樓:我是李可欣

111111111111111111111111111111111

c語言問題。 *p+i與*(p+i)有什麼區別啊?

8樓:匿名使用者

寫個c程式解釋吧。

#include

int main()

, *p = a;

printf("%d %d\n", *p + 1, *(p + 3));

return 0;

}輸出為 10 6;

為什麼呢?因為 *p = a 把 a 陣列的首地址的值放在 p 處,所以p = a,*p =a[0]= 9 => *p + 1 = 9 + 1 = 10.

p + 3 就是a陣列的首地址往後移動3位,即p = a[0], p + 3 = a[3]的值,就是6了。

9樓:匿名使用者

其實在定義時你這樣理解就很清楚答案了:

char *p;理解成char (*p);*p在一起是一個char。那麼,*p+i就是*p的值加上i,而*(p+i)是在先p+i再*操作,*是什麼意思呢,在這裡是「取值」。所以,*(p+i)是把指標移動i個位置,再返回前地址的值。

10樓:匿名使用者

地址加i,地址變了。地址

c語言問題求解,*(p[2]+2)是什麼意思,正確答案應該是什麼,謝謝

11樓:萬東你好

答案是64.解釋:p[i]=&a[i*3]可得p[2]=&a[6],即p[2]儲存a[6]的地址,p[2]的型別為int*,即p[2]指向的是int型別,p[2]+2則是版p[2]向下偏移權2個int距離,即p[2]+2=&a[8],則*(p[2]+2)=a[8]=64

12樓:一口沒水的枯井

執行結果是:64

首先p是一個指標的陣列,即一個可以存放3個指標的陣列因為地回址就是指標,答指標只是地址一個形象化的表達而已。所以也就是p可以存放3個地址

其中p[2]代表 這個指標陣列中的第3個元素,p[2]存放的是a[6]的地址

p[2]+2得到a[8]的地址

*(p[2]+2) 就是 取a[8]的值,故為64

13樓:淡若親風

int *p[3]表示指標陣列,每個元素都是指標,顯然有p[2]=&a[6]

所以*(p[2]+2)也就是*(&a[6]+2)也就是a[8],答案是64

14樓:匿名使用者

p[2]=&a[6]

&a[6]+2=&a[8]

*&a[8]=a[8]=64

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

15樓:匿名使用者

這個利用的是二維陣列還是順序儲存的特點來直接計算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]的地址

16樓:匿名使用者

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

c語言中 什麼意思啊,在c語言中 是什麼意思

這是兩抄個運算子擺放在一起而已 bai 是賦值運算子 邏輯 du非運算子,邏zhi輯操作符一 dao般將其運算元視為條件表示式,返回結果為bool型別 首先對其運算元求值,若結果為0,則條件為假 false 否則為真 true 優先順序上 先於 所有比如有下面的式子 int i i 5 這個要怎麼理...

C語言中P23是什麼意思,c語言中12是什麼意思

的優先順序比 bai 高,1 du2 3 1 2 3 1二 位zhi邏輯運算子 符號dao 描述 按位與 按位或 版 按位異或 按位取反 表中權除去最後一個運算子是單目運算子,其他都是雙目運算子。這些運算子只能用於整型表示式。位邏輯運算子通常用於對整型變數進行位的設定 清零 取反 以及對某些選定的位...

在c語言中p i是什麼意思啊,c語言中p i是什麼意思?

是c語言的特殊操作符號,呼叫形式為 a b 其等效於 a a b 但是用 的形式,可以減少 輸入,同時還可以提高執行效率。p i也就是p p i,即將原始的p值與i值相乘,結果賦值給p。c語言中類似的符號還有 等等。親,你確定你的表示式沒有寫錯嗎?如果確定,那麼我也不知道 如果寫錯了,有兩種形式,是...