對二級指標的初步認識

2021-10-23 05:06:08 字數 804 閱讀 1156

二級指標:如果乙個指標指向的是另外乙個指標,我們就稱它為二級指標,或者指向指標的指標。

假設有乙個 int 型別的變數 a,p1是指向 a 的指標變數,p2 又是指向 p1 的指標變數,它們的關係如下圖所示:

將這種關係轉換為c語言**:

int a =100;

int *p1 = &a;

int **p2 = &p1;

指標變數也是一種變數,也會占用儲存空間,也可以使用 & 獲取它的位址。c語言不限制指標的級數,每增加一級指標,在定義指標變數時就得增加乙個星號 *。p1 是一級指標,指向普通型別的資料,定義時有乙個 *;p2 是二級指標,指向一級指標 p1,定義時有兩個 *。

所以二級指標也是乙個變數,它指向的是「指標的位址」。如上所示,準確的說,二級指標p2指向的「是一級指標p1的位址」 。

(說明:指標變數和其他變數一樣,在使用前必須被宣告。如上宣告所示。注意:指標只有在宣告的時候,才會有「 * 」,但是在賦值時,不帶「 * 」)

int a =100;

int *p1;

int **p2;

p1 = &a;

p2 = &p1;

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

對於二級指標的認識

對於二級指標的認識 今天在寫鏈棧實現括號匹配的時候遇到了乙個指標的問題。我在main函式裡定義了乙個結構體指標,然後使用func node p 這樣的函式申明讓它去指向另乙個指標,然後程式就報錯了。我除錯了一下午,都不知道到底錯在哪,以前寫鍊錶的時候一直都是這樣做的。然後我就把問題放在了csdn上讓...

指標與二級指標

int num 10 int p1 int p2 p1 指標的指向結構如下圖所示 0x4000 0x3000 p2 0x2000 p1 num p2 表示的是儲存p2指標的位址 p2 表示的是p2指向的位址,即指標p1存放的位址 p2 表示指標p2指向位址中所存的值,即指標p1指向的位址,即變數nu...

二級指標,指向指標的指標

test 函式的語句getmemory str,200 並沒有使str 獲得期望的記憶體,str 依舊是null,為什麼?指標傳遞 void getmemory char p,int num void test void 解釋 毛病出在函式getmemory 中,編譯器總是要為函式的每個引數製作臨時...