通过双指针分配指针

时间:2018-08-22 11:04:11

标签: c++ pointers double-pointer

int m = 5, n = 6;
int *p,*q,**r;
p = &n, q = &n;
r = &p;
cout<<m<<n<<*p<<*q<<**r; \\Gives output 56666
*r = &m;
cout<<m<<n<<*p<<*q<<**r;  \\Gives output 56665

输出不应为56565,因为当您给* r =&m时,p获得m的地址,而* p应该打印m(5)的值?

2 个答案:

答案 0 :(得分:2)

  

输出不应为56565,因为当您给* r =&m时,p获得m的地址,而* p应该打印m(5)的值?

是的,应该;你的推理是正确的。此外,output is 56565应该是正确的。

答案 1 :(得分:0)

这是指针的工作方式。

如果r=&p并且您设置了*r=&m,则它与p=&m完全相同。