指针“变量里面的值” 和 “指针地址的值” 和 “指针指向的值” 有什么区别?

 我来答
晨枫叶轻舞
2019-07-07 · TA获得超过4695个赞
知道答主
回答量:1387
采纳率:35%
帮助的人:44.5万
展开全部

指针“变量里面的值”存放的是内存单元的地址;“指针地址的值”指的是指针的地址值,用“&”表示;“指针指向的值”指的是指针所指向的变量的值,用“*”表示。

指针是编程语言中的一个对象,直接地对地址进行操作,其的值直接指向存在电脑存储器中另一个地方的值。通过地址能找到所需的变量单元,也就是,地址指向该变量单元。由此,地址形象化的被称为“指针”。其意是通过它能找到以它为地址的内存单元。

指针一般出现在比较接近机器语言的语言,如汇编语言或C语言。

扩展资料

指针与引用的区别:

一、指针和引用的区别

(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也有可能不指向对象则必须使用 指针.

由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值.

String & rs = string1;

由于没有所谓的 null reference 所以在使用前不需要进行测试其是否有值,而使用指针则需要测试其的有效性.

(2)指针可以被重新赋值而reference则总是指向最初或地的对象.

(3)必须使用reference的场合. Operator[] 操作符 由于该操作符很特别地必须返回 [能够被当做assignment 赋值对象] 的东西,所以需要给他返回一个 reference.

(4)其实引用在函数的参数中使用很经常.

void Get***(const int& a) //这样使用了引用又可以保证不修改被引用的值

{

}

参考资料来源:百度百科--指针

参考资料来源:百度百科--地址 (C语言)

参考资料来源:百度百科--指针变量

大野瘦子
高粉答主

2019-07-07 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.3万
展开全部

一、结果不同

例如:

int i=1; //假设i的地址为100,实际地址不是这样的。

int *p=&i; //假设指针p的地址&p为200

指针变是的值也就是指针的值p,也就是变量i的地址,即100,也就是说p=100,

而指针指向的值,指的是指针所指向的地址100这个内存位置,所对应的值,也就是i的值,为1。

二、意思不同

指针变量的值。指的是P本身的值,写作P,在这里是a的地址,类型为int型;

指针地址的值,指的是p的地址值,写作&p,这个地址代表的内存,存储出是P的值,类型为**型,也就是二级指针;

指针指向的值,指的是p值代表的地址上存储的值,写作*p,在这里就是变量a的值,类型为int型。

三、用途不同

变量是可以存储数据的,但是指针变量与普通变量不同,它用来存放普通变量的地址,即指针变量是用来存放普通变量的指针。指针变量也是一个变量,在内存中也是占内存的,只不过它不存放基本类型数据,而是存放其他基本类型变量的地址。

指针变量的地址用比该指针类型高一级的指针变量来存放指针变量的地址,如二级指针变量存放一级指针变量的地址,三级指针变量存放二级变量的地址,依次类推。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2017-04-20 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

这几种说法,代表着不同的含义,有着不同的值,以及不同的数据类型。具体说明如下:

在C语言中,指针是一个很重要的组成部分,其本质为某一段内存的起始地址。以如下代码进行举例说明:

int a;//定义一个变量a。
int *p;//定义一个指针p。
p=&a; //将a的地址赋值给p。

1、 指针变量的值,指的是p本身的值,写作p, 在这里是a的地址,类型为int *型;

2、 指针地址的值,指的是p的地址值,写作&p, 这个地址代表的内存,存储出是p的值,类型为int **型,也就是二级指针;

3、指针指向的值,指的是p值代表的地址上存储的值,写作*p, 在这里就是变量a的值,类型为int型。

以上三种,都是最常用的指针说明方式,必须要深入理解并灵活掌握,否则很难学好C语言。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
眼眶的湿润
2013-03-13 · TA获得超过3279个赞
知道小有建树答主
回答量:806
采纳率:50%
帮助的人:575万
展开全部
无论是普通的变量还是指针变量在内存中都有一个地址(如果已经分配好的话)
经过赋制操作,比如说p=&a,指针变量p里的值是一个地址,这个地址就是变量a的地址
当然指针变量本身也有一个地址
指针指向的值就是指针变量的值里的那个地址所对应的变量的值,也就是a的值,*p等于a。
不知道你理解了没有?
追问
这位哥哥你好,
指针变量里面的值就是“数据”对吗?比如:赋值15.
指针地址的值就是内存中的地址 比如:2000. 对吗?
指针指向的值也是上面说的15 。 我这样理解对么?
追答
指针变量里的值其实才是地址,比如说你直接把指针p的值打出来,会发现是一串数字
我不太清楚你的指针地址指的是什么,究竟是指,指针的地址呢,还是指针中存的地址呢?
指针的地址跟所指向的变量没有任何关系,而指针的值,也就是指针中存的地址,就是它指向的值(变量)的地址。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式