请问 指针是指向地址的还是指向那个变量值的。

 我来答
x120765121
2011-04-11 · TA获得超过701个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:45.8万
展开全部
指针是一个变量,他的值是可以变得,他里面存的是一个地址
假设我们定义一个指针 int *p; int a;
如果p = &a;
这个时候我们知道,a是一个变量,那么内存必定要给他分配一个地址来存储他,p指向a的意思就是p里面存的就是a的地址。所以p就是一个存着地址的变量。
既然我们知道p里面存着a的地址,那么我们要找a就非常方便了,*p就表示p存的地址里面的值,也就是a的值。
这句话怎么理解呢?
1.p存的是地址,比作你住的地方,那么*p就表示你了,因为*p就表示这个地址里面的数据。
这个时候*p和a是完全一样的了,假如你要改变a的值。a = a+1和*p =*p+1是完全一样的,都能达到对a进行操作的目的。但是*p =*p+1和*p = *(p+1)是不一样的,这个用的时候要特别注意,因为p里面是地址,那么*(p+1)就表示这个地址加1后,地址加1那不就是换了一个地址吗?换了一个地址后里面存的就肯定不是a了,就像可能是你的邻居了。因为地址变了,所以就是p变了,因此*也变了,这个地方有点难理解,楼主多琢磨琢磨。
总结一句话:指针是一个万能钥匙,可以指向任何一个地址,可以改变任何一个地址里面的数据(只读的除外),因此使用指针要注意安全,以免发生异常。
xiazhi59362008
2011-04-09 · TA获得超过1257个赞
知道小有建树答主
回答量:531
采纳率:0%
帮助的人:222万
展开全部
你要搞清。数据在内存中是如何储存的。

这么比喻。我们电脑的那一大块内存。即好像超市门口的物品保管箱一样。很大一个保险箱。

而且别划分成一个一个小的保险箱。我们定义了一个整形数据 int a;

就好象我们往某一个小的保险箱塞了一元硬币。 那个变量值a就相当于我们放进去的东西。

注意。这个小的保险箱是有号码的。这个写在箱子门上面的号码,就相当于内存地址了。

而我们手里的钥匙。就是指针。要是上也写上了号码。和箱子上号码一样。

很显然。这个钥匙对应这个箱子。所以。指针对应的是内存地址。 我们通过这个钥匙指向的箱子

可以找到我们的东西。就好比。我们通过这个指针能找到这个内存地址(箱子),就能知道里面的变量(我们的东西)是多少一样。

指C语言规定:指针只能保存(指向)地址。(相当于钥匙只能刻上箱子号码,而不能刻上你保存的东西是什么一样、)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最方便的
2011-04-09
知道答主
回答量:33
采纳率:0%
帮助的人:0
展开全部
指针就是那个变量在硬盘中的地址 就是物理地址 只有指针变量才有指向的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友42fd35383
2011-04-09 · 超过11用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:32.6万
展开全部
指针的本质是地址。假如你定义了一个指针变量的方法有两种1、 int a; int *p=&a 2 int a,*p;p=&a;这里p指的是的a存放地址而*p是指向的a值.即&a=p. a=*p;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
10伯乐01
2011-04-10 · TA获得超过501个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:102万
展开全部
指向变量所在的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式