p 與p有什麼區別, p i 與 p i 有什麼區別

2021-03-12 18:49:03 字數 3332 閱讀 1298

1樓:匿名使用者

前者是 定義乙個指向含有i個元素的陣列的指標不過要注意 這裡i應該是乙個常量 比如

int (*p)[6];

int a[3][6];

p=a;

後者很簡單 定義元素型別是指標的陣列 同樣的i應該是整型的

(*p)[i]與*p[i]有什麼區別 怎麼區分

2樓:匿名使用者

(*p)[i] 是先取p的內容作為陣列的起始位址,然後再去第i個元素。

*p[i]是先取以p為起始位址的第i個元素,該元素為指標,然後取該指標的內容。

3樓:匿名使用者

(*p)[i]: p是指向乙個陣列的頭部位址的指標,(*p)[i]是指這個陣列的第i個元素

*p[i]: 這個是p[i]本身是乙個指標,*p[i]是取p[i]這個指標所指向的位址中的內容

4樓:zh風魂

(*p)[i]:是定義乙個指向含有i個元素的陣列的指標,不過要注意,這裡「i」應內

該是乙個常容

量,比如

int (*p)[6];

int a[3][6];

p=a;

*p[i]:定義元素型別是指標的陣列,同樣的「i」應該是整型的。

5樓:匿名使用者

根據c中運算子的復優先順序可製

以判斷是定義時,還是

利用時定義時

(*p)[i]這個是定義乙個陣列,而陣列的元素師指標*p[i]這個是定義乙個二維陣列

利用時(*p)[i]這個我搞不懂,呵呵

*p[i]這個相當於三位陣列吧,我也搞不大懂,呵呵

*p+i和*(p+i)有什麼區別啊?新人求解……

6樓:田真久

p如果是陣列的指bai

針,指向的是數du組的第乙個元zhi素,也就是說daop就是第乙個元內素的位址,因此容以為陣列裡面*p代表第乙個元素的值,*p+i 代表第乙個元素的值+i,而*(p+i)代表陣列的第i個元素的值。

二維陣列裡面*p指向這個二維陣列的第乙個一維陣列,*p+i 就是把這個位址偏移i;

*(p+i)是指向二維陣列的第i個一維陣列。

7樓:匿名使用者

一維陣列來里也不可能自等價

+是乙個雙目運算子

所以*p+i是要先算*p的,然後把值加上i而*(p+i),先算的p+i,就是指向了乙個新的位置,然後再*,這樣就取了新的那個位置的值。

於是,這個問題前提就錯了,我只能解答到這裡了。

8樓:匿名使用者

在一維陣列裡面抄,貌似*p+i和襲*(p+i)等價。//不正確bai比如du,int a[5],*p; p=&a[1];

*p+i,相當於

zhia[1]+i

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

在二維陣列裡面,dao貌似*p+i和*(p+i)不等價。//正確

*p[i]與*(p+i)有什麼區別

9樓:提防

*p[i]的p應該是乙個陣列,陣列元素是指標

*(p+i)裡p是指向陣列的乙個指標

10樓:匿名使用者

*p[i]是一直指標陣列中的第i個元素所指向的變數的值。

*(p+i)是乙個僅僅是指標陣列中第i個指標所指向的位址。

c語言中*p[i] 和(*p)[i]有什麼區別,指標似乎都是陣列

11樓:匿名使用者

乙個是定義了乙個陣列,陣列的元素是指標,

乙個是定義了乙個指標,指標變數指向陣列

12樓:匿名使用者

前者是指標陣列,後者是陣列指標

13樓:天秤座的龍騎士

nonono後面的乙個是指向陣列的指標,前面的是指標陣列

14樓:衡琨瑤拜田

指標p的值實際上是乙個整數.p++指標偏移乙個單位(乙個單位是說,如果p指向某個資料型別,p++之後指標就要偏移乙個sizeof(這個資料型別)).p+i是偏移i個單位.

指向的記憶體空間當然改變了.

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

15樓:匿名使用者

寫個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了。

16樓:匿名使用者

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

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

17樓:匿名使用者

位址加i,位址變了。位址

請問*p[i]和(*p)[i]有什麼區別!!求大神指導,詳細點哈,我是初學者,指標感覺好難,最好給 5

18樓:id雞蛋炒韭菜

*p[i] 指的是以陣列p中第i個元素的值作為位址指向的記憶體中的值

(*p)[i] 指的是p作為位址的記憶體中的值作為陣列首位址,第i個元素的值

19樓:匿名使用者

位址指標和 位址內的數的指標

請問*(p++)=i和p++;*p=i有什麼區別呀

20樓:匿名使用者

*(p++) = i;//這裡先對baip加1(假設k = p+1),然後在對這個指du

針zhik接引用,使得 k所指向的對dao象的值為1;版

p++;//這裡先使用p的值,在對p加1.即權p = p+1;

*p = i; //這裡讓p指向的物件的值為1.比如*p = &k;這裡p指向k。那麼*p = i的功能就是k = i;

21樓:匿名使用者

前面的就是指p這個指標,而後面的是p+1後的指標!!

c 中p i與 p i ,C語言問題。 p i與 (p i)有什麼區別啊?

第一bai個問題,因為你定義的p指標是字du符型zhi,所以列印的時候列印的是該位址dao的字元,你用強制版轉換函權數 int p 代替第乙個列印函式中的p就可以了 第二個問題,同樣,i是int型,p i後,強制轉換成了int型再做加法的,結果也是int型,所以,你列印出的是a的ascii碼加1就是...

P2P網貸與信託有什麼區別,P2P理財與信託的區別有哪些

p2p和信託的區別 抄 一 bai投資門檻 信託和p2p的區du別便在於這裡。zhi乙個高冷,乙個接地氣。更多的人dao接觸到信託理財,那都是在電視電影螢幕裡。屬於大老闆投資首選。傳統信託公司的理財門檻超過百萬元。一般人是想都不敢想的。而p2p理財則不相同,它有著網際網路理財產品的獨特之處,收益高 ...

華為p8與華為p8青春版有什麼區別

華為p8與華為p8青春du版有以下區別 zhi 1 螢幕 p85.2英吋 daop8青春版5.0英吋 2 前置攝專像頭 p8800萬畫素屬 p8青春版500萬畫素 3 機身尺寸 p8 144.9mm 72.1mm 6.4mm p8青春版 143mm 長 70.6mm 寬 7.7mm 厚 4 處理器 ...