C C 指向指標的指標

2021-08-21 11:52:13 字數 780 閱讀 7461

我在一篇教程中看到下面這段,它描述指向指標的指標是如何運作的。

引用文章相關段落如下:

如果我們接著這麼寫:

*ipp = ip2;
我們就改變了 ipp 指向的那個指標(也就是 ip1),現在它指向 ip2 所指的地方。也就是說(ip1)現在它指向了 j:

我的疑問是:為什麼在第二幅圖里,ipp 還是指向 ip1 而不是 ip2?

讓我們暫時忘掉那些關於指標的各種模擬。指標實際上存放的是記憶體的位址。

& 符號的意思是取位址,也就是返回乙個物件在記憶體中的位址。

* 符號的意思是取得乙個指標所指向的物件。 也就是如果乙個指標儲存著乙個記憶體位址,那麼它就返回在那個位址的物件。

所以當你這麼寫時 *ipp = ip2,實際上是把 ipp 存的位址所對應的物件,也就是 ip1 取到,然後把 ip2 存的值賦值給 ip1,也就是 j 的位址。

簡單點就是:

&:取址。

* :取值。

C C 指向常量的指標和常量指標

由於之前沒有系統的看過書籍,導致概念混淆,由 c primer 中得到,const修飾指標有兩種形態,分別是指向常量的指標 pointer to const 和常量指標 const pointer ps 對之前看過此部落格的同學表示抱歉 int a 1 int b 2 const int p a 等...

指向指標的指標

理解二級指標,關鍵是理解指標的儲存方式和意義。這裡以指向int型指標的指標為例,梳理一下二級指標在記憶體分配中 的奧妙.include using namespace std int main int p a int point p cout a a endl p p endl p p endl p...

指向指標的指標

這幾天我下意識地琢磨到底 錯了,今天猛然明白了他的想法,其實這個技術點我早已掌握,只是當時對問題未深入思考,把握得較模糊,一時沒洞察他的思路,疏忽了。問題大概是這樣的 寫乙個函式,將乙個二維陣列作乙個變換。void rotate array 開闢備份空間 根據變換要求將元素一一賦值 因為這個方法並不...