如何理解指向指针的指针?
2014-03-05 10:44
423 查看
问题:如何理解指向指针的指针?
我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。引用文章相关段落如下:
1 2 | inti = 5, j = 6, k = 7; int*ip1 = &i, *ip2 = &j; |
1 | int**ipp = &ip1; |
如果我们接着这么写:
1 | *ipp = ip2; |
我的疑问是:为什么在第二幅图里,ipp 还是指向 ip1 而不是 ip2?
最佳答案:
让我们暂时忘掉那些关于指针的各种类比。指针实际上存放的是内存的地址。& 符号的意思是取地址,也就是返回一个对象在内存中的地址。
* 符号的意思是取得一个指针所指向的对象。 也就是如果一个指针保存着一个内存地址,那么它就返回在那个地址的对象。
所以当你这么写时 *ipp = ip2,实际上是把 ipp 存的地址所对应的对象,也就是 ip1 取到,然后把 ip2 存的值赋值给 ip1,也就是 j 的地址。
简单点就是:
&:取址。
* :取值。
相关文章推荐
- 所谓"在表达式中,数组名总是被转换为指向该数组第一个元素的指针"应该如何理解?
- 如何理解指向指针的指针
- 如何理解指向指针的指针?(转载)
- 基类指针指向子类对象改如何理解
- 如何理解指向指针的指针
- 问题:如何理解指向指针的指针?
- 如何理解指向指针的指针
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 如何理解指向指针的指针?
- 指向指针的指针理解辅助
- 理解一般指针和指向指针的指针
- 对于数组指针—指针数组;函数指针—函数指针数组,指向函数指针数组的指针,的理解
- C++ 父类指针指向子类对象||子类指针指向父类对象的理解
- 如何在类中将实例对象的指针清空(不通过指针变量名改变指针变量的指向)
- Java多态-如何理解父类引用指向子类对象