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

2021-03-12 18:49:03 字數 2128 閱讀 8767

1樓:徐九

第一bai個問題,因為你定義的p指標是字du符型zhi,所以列印的時候列印的是該位址dao的字元,你用強制版轉換函權數 int(p)代替第乙個列印函式中的p就可以了

第二個問題,同樣,i是int型,*p+i後,強制轉換成了int型再做加法的,結果也是int型,所以,你列印出的是a的ascii碼加1就是97,同理,b是98.。。。同樣,用char(*p+i)強制轉換成char型就可以了

第三個問題,還是型別轉換的問題。。。

指標能直接對位址進行操作,使得程式跳轉還有資料結構(比如鏈式儲存結構)用起來都很方便,這個不好說,慢慢體會吧,反正我是非科班的,開始一樣不習慣,慢慢的就習慣了

半夜回答。。。。給分吧。。。o(∩_∩)o~

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

2樓:匿名使用者

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

3樓:匿名使用者

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

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

4樓:匿名使用者

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

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

5樓:匿名使用者

若果我還沒記錯的話:

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

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

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

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

6樓:某李某

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

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

c語言(*(*p+i))是什麼意思

7樓:咎婕竹俊雅

簡單的知識點:陣列的下標是從0開始的。

舉例來說,陣列有10個元素,陣列的下標是0到9;第乙個元素的下標為0,第二個元素的下標為1。

8樓:告悠蒯從蓉

*p+=i相當於*p=*p+i

p是乙個指標,上述**相當於把p指向的

變數的值加上i,假設p指向int型變數,內參考**容:

inta=5,i=3,*p=&a;

*p+=i;

//此處相當於a+=i,也就是a=a+i,此時a的值變成8

9樓:匿名使用者

(1)如

來果定義int *p,p=a[0];則p是指向二維源陣列首個元素的指標變數。

p=a[0]等價於p=&a[0][0],p+1等價於a[1]等價於&a[1][0]

(2)如果定義int (*p)[4] ,p=a;則p是指向二維陣列第0行的指標變數。

a等價於&a[0],*p等價於a[0];所以**p等價於a[0][0];

(*(*p+i)+j)等價於:陣列元素a[i][j]

10樓:匿名使用者

p應該是指向二維陣列的首位址

(*(*p+i))代表的是第一行第i列的值

11樓:劉麗平

指標所指的陣列中的元素

12樓:看灰過來了

看著像是二維陣列第0行第i列的元素

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

前者是 定義乙個指向含有i個元素的陣列的指標不過要注意 這裡i應該是乙個常量 比如 int p 6 int a 3 6 p a 後者很簡單 定義元素型別是指標的陣列 同樣的i應該是整型的 p i 與 p i 有什麼區別 怎麼區分 p i 是先取p的內容作為陣列的起始位址,然後再去第i個元素。p i ...

P U2 R與P I2R的含義,P U2 R ,P UI, P I2R的區別

p ui,u ir,baip ir i i2r p ui i u r p u u r u2 r 還有這個uri的關du 系,印象裡是r不變zhi,i與u成正比,dao 回u不變。i與r成反比。ir不能換答位置 r u i 所以r越大,ui的比值越大,如果沒有定值的話,這個也沒意義啊。u是定值,r越大...

c語言與php哪個發展更好,C語言與PHP哪個發展更好

無所謂哪個更好,各有所長,學習好了都有發展。1 php是伺服器指令碼語言,必須要執行在能夠解析php的伺服器上2 c語言是低階語言,php是高階語言 3 c語言是強型別語言,php是弱型別語言,這一點從2者語法的差別可以看出 4 php主要用來做web應用,c語言主要用來做計算機底層的應用,另外c語...