码迷,mamicode.com
首页 > 其他好文 > 详细

P *P &P

时间:2014-09-20 10:05:57      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   数据   2014   div   



背景概要

 

         昨天晚上参加小组C++讨论会,内容涉及到很多方面,主要包括this指针,重载运算符函数、数组指针和指针数组、静态成员static等等,大家反映都很积极。当讨论到*PP的知识点时,卡壳了。。。

 

         从开始准备C++开始,大家就普遍反映对*PP的概念有点混乱,有时候可能碰巧答对了,再换个数据又不会了。。。而学习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

 

接下来我们一一看一下每个表达式的含义:

bubuko.com,布布扣

 

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

标签:style   blog   http   color   io   ar   数据   2014   div   

原文地址:http://blog.csdn.net/u010773667/article/details/39429149

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!