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 處理器 ...