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

2021-03-12 18:49:02 字數 3034 閱讀 6402

1樓:提防

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

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

2樓:匿名使用者

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

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

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

3樓:匿名使用者

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

4樓:匿名使用者

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

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

5樓:匿名使用者

位址加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++;*p=i有什麼區別呀

9樓:匿名使用者

*(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;

10樓:匿名使用者

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

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

11樓:匿名使用者

若果我還沒記錯的話:

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

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

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

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

12樓:某李某

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

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

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

13樓:匿名使用者

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

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

14樓:匿名使用者

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

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

15樓:zh風魂

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

該是乙個常容

量,比如

int (*p)[6];

int a[3][6];

p=a;

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

16樓:匿名使用者

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

以判斷是定義時,還是

利用時定義時

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

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

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

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

17樓:匿名使用者

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

int (*p)[6];

int a[3][6];

p=a;

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

愛與被愛有什么區別,愛與被愛有什麼區別?

愛乙個人,就要為你愛的人付出愛的代價 被乙個人愛,就會得到那個人愛的關懷和憐惜!其時,愛與被愛都是一件很幸福的事情 為何不去找乙個愛你但是你有愛的人來享受這種愛的體驗?當,被你愛的人,也愛上了你,說明是你愛有了回報 當,你愛上了乙個愛你人,說明她的愛得到了認可!有了收穫!希望採納 這是主動和被動的問...

孔子與孟子有什么區別,孔子與孟子有什麼區別

孔丘 前551年9月28日 農曆八月廿七 前479年4月11日 農曆二月十一 字仲尼。排行老二,漢族人,春秋時期魯國人。孔子是我國古代偉大的思想家和教育家,儒家學派創始人,世界最著名的文化名人之一。編撰了我國第一部編年體史書 春秋 據有關記載,孔子出生於魯國陬邑昌平鄉 今山東省曲阜市東南的南辛鎮魯源...

財經與財務有什麼區別,財經與財務有什麼區別?會計是是屬於財務還是財經?

1 財經是指財政經濟。財經類專業是指經濟類和經濟管理類專業,常見的專業包括市場營銷 會計 人力資源管理 金融 國際 企業管理 統計 財稅等,是近幾年來人才市場上的熱門專業。2 賬務是指實現會計處理進行原始單證的收集 整理 記載 計算 結報等會計處理的具體事務,它要求規範 準確,保證會計核算,會計監督...