指向指標的指標

2021-06-22 00:31:30 字數 891 閱讀 2689

理解二級指標,關鍵是理解指標的儲存方式和意義。

這裡以指向int型指標的指標為例,梳理一下二級指標在記憶體分配中 的奧妙....

#include using namespace std;

int main()

; int *p = a;

int **point = &p;

cout << "a = " << a << endl

<< "p = " << p << endl

<< "&p = " << &p << endl

<< "point = " << point << endl

<< "&point = " << &point << endl;

for (int i = 0; i < 5; i++)

return 0;

}

執行結果:

看一下記憶體分配圖:

從上圖可以看出point指標中存放的是p指標的位址,而p指標中存放的是a[0]的位址。所以*point和p是一樣的,前者是取point指標中存放的位址(0025f754)中的值,即取位址0025f754中存放的值(0025f760),而後者就是0025f760,所以兩者是等價的。

**point和a[0]是等價的,前者可以寫成*p,*p是取p中存放的位址(0025f760)中的值,即位址0025f760中存放的值1。由上可以得出*point等於p, **point 等於 a[0]。通過上圖可以清晰的對付諸如*point++等問題。

指向指標的指標

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

指向指標的指標

一 回顧指標概念 讓我們先回顧一下指標的概念吧!當我們程式如下申明變數 short int i char a short int pi 程式會在記憶體某位址空間上為各變數開闢空間,如下圖所示。圖中所示中可看出 i 變數在記憶體位址5的位置,佔兩個位元組。a變數在記憶體位址7的位置,佔乙個位元組。接下...

指向指標的指標

如果乙個指標變數存放的又是另乙個指標變數的位址,則稱這個變數為指向指標的指標變數或指向指標的指標。定義方式 資料型別 變數名 int a 10 位址為 a int p a 指標位址為 p 如果是p就是a的位址 int p1 p 指標位址為 p1 如果是 p1就是 p 要注意這幾個位址的區別,不能混淆...