【C++】33.二级指针 **p
生活随笔
收集整理的這篇文章主要介紹了
【C++】33.二级指针 **p
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
參考原文: https://blog.csdn.net/liangyihuai/article/details/77094996
@zhz
對一級指針取地址,就是二級指針
p2是一個二級指針,*p2(解引用)是p2指向的位置的值(該值是一個指針),即*p2也是一個指針。再對*p2指向的地址進行解引用,即**p2,值是p2指向的位置保存的指針?biāo)赶蛭恢玫闹?#xff01;
@轉(zhuǎn)載
通過定義二級指針int **p;可知:
-
p是個二級指針,即指針的指針,該指針p指向的地址A中存放的內(nèi)容是一個地址(*p);
-
*p是指向另一個地址B的指針。直接給*p賦值,可以改變指針*p的值;
-
**p是*p指向的地址中存放的值;
以下給出一個例子:
string *pointer1 = NULL; string **pointer2 = &pointer1;string str = "hello";/* if (*pointer2 == pointer1) cout << "*pointer2 == pointer1" << endl; else cout << "*pointer2 != pointer1" << endl; */*pointer2 = &str;cout << *pointer1 << endl;//執(zhí)行結(jié)果 //*pointer2 == pointer1 //hello上面例子中:
pointer2 是個二級指針,*pointer2 也是個指針,代表pointer1在內(nèi)存中的地址,即*pointer2 等價于&pointer1;
把str的內(nèi)存地址(&str)賦值給*pointer2 后,指針pointer1的內(nèi)存地址(&pointer1)就和str的內(nèi)存地址(&str)一樣了。 指針pointer1和str的內(nèi)存地址一樣,那么他們內(nèi)存地址中的值*pointer1就和str的內(nèi)容"hello"一樣了。
總結(jié)
以上是生活随笔為你收集整理的【C++】33.二级指针 **p的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法】3.二叉搜索树(BST
- 下一篇: 【C++】18.char[] 与 str