P *P &P

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   ar   資料   2014   div   



背景概要

 

        昨天晚上參加小組C++討論會,內容涉及到很多方面,主要包括this指標,重載運算子函數、數組指標和指標數組、靜態成員static等等,大家反映都很積極。當討論到*P與P的知識點時,卡殼了。。。

 

        從開始準備C++開始,大家就普遍反映對*P和P的概念有點混亂,有時候可能碰巧答對了,再換個資料又不會了。。。而學習C++,指標是必學的,今天就跟大家講一下我的理解,雖然馬上就要考試了,我還是希望可以幫到有需要的同學,有不恰當的地方歡迎指正。

 

P  *P   &P

 

要想分清楚這幾個運算式,就要弄清楚他們分別代表的含義。

在此之前,我們看一下下面的表格:

 

 

運算式

int a

int * P

類型

int

int *

變數

a

P

 

        P ,指標變數。學習指標,我們首先瞭解的就是:指標存的是指標所指向儲存空間的地址,簡單的來理解就是指標變數存的是地址,所以P代表的是地址。

 

*P,取值,得到P指標指向的地址空間記憶體放的實際內容。

 

&P,取址,不難理解就是取地址,所以&P得到的是地址。

 

下面通過一個執行個體來理解一下:

已知 int a[5]={1,2,3,4,5},*P=a.現在我想要得到數值4,有下面幾個運算式:

A)*P+4     B)*(P+3)     C)P+3

 

接下來我們一一看一下每個運算式的含義:

 

A,*P,取值,得到P指向的儲存空間的首地址的儲存內容,這裡是1,所以*P+4=5,選項錯誤。

B,*P,取值;P,代表地址。現在P指向的地址是20,所以P+3=23,相當於指標下移3個儲存單元,現在指向地址23,所以*(P+4)=4.

C,從B選項已得知P+3=23,它的含義是地址,所以C錯誤。

 

以上就是我對於指標這一塊兒的理解,馬上就要考試了,祝大家考試必過!

P *P &P

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.