p和p什麼意思及區別pppp有什麼不同??

2021-03-07 00:31:01 字數 3591 閱讀 1585

1樓:軟體外包介紹

假如 p = 2;那麼執行 b=*p++; 結果 b=2。因為 b=*p++ 相當於 b=*p; p++。即 p 是「先使用,後自增」。

如果執行 b=*++p; 結果 b=2。因為 b=*++p 相當於 p++; b=*p。即 p 是「先自增,後使用」。

2樓:南追

(*p)++,是先取指標p的值,然後對其值進行++運算,*(p++),是先對指標p進行++運算,然後再取取值。*的作用是使用p指標指向資料。

例如:假設int*p=1,那麼*p++值為2.

假設int array[5];  int *p = a; p++之後 p=&array[1]; 也就是所,p指標自加也就是說p指向p之後的資料單元,本來p指向array[0]的,自加就指向array[1].

3樓:湘潭便民網

p++代表的是先執行p操作再進行加1

++p代表是先加1再進行p的操作

4樓:匿名使用者

弄清楚運算子的優先順序就可以了,前一個表示p所指向記憶體資料後加一,後一表示指標p後移一再取移動後記憶體裡資料

5樓:匿名使用者

首先這個是一個優先順序的問題,++的優先順序高於*優先順序 所以*p++ 可以寫成*(p++)

再者p++與++p的區別是一個是先引用在自增,一個是先自增在引用

*是表示取指向地址內的資料

所以該問題的可以這麼理解 *p++是取該地址內的資料後地址+1,*++p是地址先+1在取資料取到的資料是地址增加後的地址內的資料

如:int a[2]= ,*p , c; p=a; c = *p++ ; 此時的c的值是55;

int a[2]= ,*p , c; p=a; c = *++p ;此時的c的值是66;

6樓:園核生物

按照優先順序來看,++是優先順序比*高

*p++,(*p)++,*++p,++*p有什麼不同??

7樓:匿名使用者

例如int a[5]=;

int *p = a;

*p++ 先取指標p指向的值(陣列第一個元素1),再將指標p自增1;

cout << *p++; // 結果為 1cout <<(*p++); // 1

(*p)++ 先去指標p指向的值(陣列第一個元素1),再將該值自增1(陣列第一個元素變為2

cout << (*p)++; // 1cout <<((*p)++) //2

*++p 先將指標p自增1(此時指向陣列第二個元素),* 操作再取出該值

cout << *++p; // 2

cout <<(*++p) //2

++*p 先取指標p指向的值(陣列第一個元素1),再將該值自增1(陣列第一個元素變為2)

cout <<++*p; // 2

cout <<(++*p) //2

注意,上面的每條cout輸出,要單獨輸出才能得到後面的結果。

8樓:匿名使用者

圖為四種操作以及簡單的賦值操作後的結果

宣告p q為int*指標

可知:圖中第一個操作先將*q賦值給*p然後q指標後移4位元組第二個操作q先後移4位元組後取那4個記憶體單元的整形值賦予p第三個操作為先把*q賦予*p後,然後*q的值自增1第四個為*q先自增1後,再把值賦給*p

9樓:maplestory太子

*(p++) 取(p+1)處地址的值。

*(++p) 取(p+1)處地址的值。和上面一樣。

*++p 取(p+1)處地址的值。和上面一樣。

*p++ 唯一不同的一個,先取p地址處的值,再對p執行+1。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

特點:1、c語言是一個有結構化程式設計、具有變數作用域以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞,另外也可以傳遞指標。

3、不同的變數型別可以用結構體組合在一起。

4、只有32個保留字,使變數、函式命名有更多彈性。

5、部份的變數型別可以轉換,例如整型和字元型變數。

6、通過指標,c語言可以容易的對儲存器進行低階控制。

7、預編譯處理讓c語言的編譯更具有彈性。

10樓:匿名使用者

推薦你親自動手實驗一下,我的思路是首先你要知道符號的優先順序,如果是指標的話,++則表示所指物件的下一個元素,++(*p)則表示將p指標所指向的物件自增,所以遇到這種情況,不要吝嗇括號的使用。

比如說int i[3] = ;

int *p = i;

*p++;   // 表示 *p = i[0+1] = i[1] = 3;

(*p)++; // 由上條的語句知,p指向i[1],(*p)++則表示 i[1]++,即i[1] = 3+1 = 4

// *++p 分析同 *p++

// ++*p 分析同 (*p)++

//可以自己去編譯器中實驗

11樓:

內容和尺寸大小沒有分別,只是在畫素上面有分別,1080p適合超大液晶電視**,720p是適合普通液晶電視**,1080和720在電腦上面是看不出差別的,電腦顯示器太小了,說白了就是拿一個80寸的液晶電視放1080p和720p的,近看1080p的還是很清晰,近看720p的就會看到畫素點。

12樓:栒木子

*(p++) 取p處地址的值。相當於a[0],因為先改變p的大小後應用於計算

13樓:萌萌的斯斯

根據譚浩強的書上講的,*(p++)與*(++p)並不一樣。

14樓:匿名使用者

p指向陣列a[1]

a[0]a[1]a[2]a[3]a[4]

_________________

|10 |20 |30 |40 |50|

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄^|

p*p=20;

先定義*p的值為20;

*p++=30;

移動了指標,原因如下一致:

*++p=30;

*和++級別相等,運算從右到左,即先計算++p,然後再計算*;所以,先移動一下指標,然後再取值~

++*p=21;

*和++級別相等,運算從右到左,即先計算*p,然後再計算++;所以,先取值*p=20;再++得到21;

15樓:匿名使用者

(一)與經營者協商和解;

(二)請求消費者協會調解;

(三)向有關行政部門申訴;

(四)根據與經營者達成的仲裁協議提請仲裁機構仲裁;

(五)向人民法院提起訴訟。

16樓:杜江溯

這個牽扯到優先順序的問題,,,左加加高於 *號高於 右加加。。。。。另外打括號了。當然首先算括號裡的。

p2p是什麼意思,P2P是什麼意思

康博士1分鐘告訴你 p2p是什麼意思 person to person p2p是英文peertopeerlending 或peer to peer 的縮寫,意即個人對個人 夥伴對夥伴 又稱點對點網路借款,是一種將小額資金聚集起來借貸給有資金需求人群的一種民間小額借貸模式。屬於網際網路金融 itfin...

c裡的p和p有什麼區別p是指標

p是取得指標p所在的地址的值,而 p是取指標p所在的地址 c 的指標變數中,p與p有什麼區別?include void main 程式輸出屬結果 p 5 p 0x0012ff7c press any key to continue p指向的是地址,是解除操作符,加在p前面是為了獲取儲存在這個地址的值...

餘額寶和p2p理財有什麼區別,p2p理財有哪些技巧

你好,餘額寶和p2p網貸理財平臺的區別 餘額寶作為一款貨幣型理財產品,是穩健型投資理財的重要選擇,從收益來說買餘額寶等同於存銀行。p2p則是在p2p平臺上實現借款人和出借人的資訊撮合,然後直接達成借貸協議。從獲取收益的角度看,銀行存貸和p2p借貸本質上是一樣的,都是採用資金出借的方式獲得收益,只是p...