请问 指针是指向地址的还是指向那个变量值的。
7个回答
展开全部
指针是一个变量,他的值是可以变得,他里面存的是一个地址
假设我们定义一个指针 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变了,因此*也变了,这个地方有点难理解,楼主多琢磨琢磨。
总结一句话:指针是一个万能钥匙,可以指向任何一个地址,可以改变任何一个地址里面的数据(只读的除外),因此使用指针要注意安全,以免发生异常。
假设我们定义一个指针 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变了,因此*也变了,这个地方有点难理解,楼主多琢磨琢磨。
总结一句话:指针是一个万能钥匙,可以指向任何一个地址,可以改变任何一个地址里面的数据(只读的除外),因此使用指针要注意安全,以免发生异常。
展开全部
你要搞清。数据在内存中是如何储存的。
这么比喻。我们电脑的那一大块内存。即好像超市门口的物品保管箱一样。很大一个保险箱。
而且别划分成一个一个小的保险箱。我们定义了一个整形数据 int a;
就好象我们往某一个小的保险箱塞了一元硬币。 那个变量值a就相当于我们放进去的东西。
注意。这个小的保险箱是有号码的。这个写在箱子门上面的号码,就相当于内存地址了。
而我们手里的钥匙。就是指针。要是上也写上了号码。和箱子上号码一样。
很显然。这个钥匙对应这个箱子。所以。指针对应的是内存地址。 我们通过这个钥匙指向的箱子
可以找到我们的东西。就好比。我们通过这个指针能找到这个内存地址(箱子),就能知道里面的变量(我们的东西)是多少一样。
指C语言规定:指针只能保存(指向)地址。(相当于钥匙只能刻上箱子号码,而不能刻上你保存的东西是什么一样、)
这么比喻。我们电脑的那一大块内存。即好像超市门口的物品保管箱一样。很大一个保险箱。
而且别划分成一个一个小的保险箱。我们定义了一个整形数据 int a;
就好象我们往某一个小的保险箱塞了一元硬币。 那个变量值a就相当于我们放进去的东西。
注意。这个小的保险箱是有号码的。这个写在箱子门上面的号码,就相当于内存地址了。
而我们手里的钥匙。就是指针。要是上也写上了号码。和箱子上号码一样。
很显然。这个钥匙对应这个箱子。所以。指针对应的是内存地址。 我们通过这个钥匙指向的箱子
可以找到我们的东西。就好比。我们通过这个指针能找到这个内存地址(箱子),就能知道里面的变量(我们的东西)是多少一样。
指C语言规定:指针只能保存(指向)地址。(相当于钥匙只能刻上箱子号码,而不能刻上你保存的东西是什么一样、)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针就是那个变量在硬盘中的地址 就是物理地址 只有指针变量才有指向的功能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针的本质是地址。假如你定义了一个指针变量的方法有两种1、 int a; int *p=&a 2 int a,*p;p=&a;这里p指的是的a存放地址而*p是指向的a值.即&a=p. a=*p;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指向变量所在的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询