1. 程式人生 > >2-2 指標 兩把鑰匙

2-2 指標 兩把鑰匙

接下來,討論兩個*的用法,這好比需要兩把鑰匙,才能得到信箱內的信件,如下所示

 

其中

int *p1 = &x;

表示p1指標變數所儲存的是x變數的地址,而

int **p2 = &p1;

此語句的示意圖 如下圖所示:

 

表示p2指標變數需要通過兩次的間接訪問才能得到x的值,即p2需要兩把鑰匙才能得到信箱內的信件。

因為*p2表示第一次間接得到p1變數的資料,它裡面儲存的是x變數的地址,此時再加上一個*,就可以得到變數的值。

也就是說 *p2 得到的是 p1變數裡面存的值 x的地址。再加一個* 就可開啟x變數地址裡面的存值。