指向指針的指針(整理)

一個指針變量可以指向整型變量、實型變量、字符類型變量,當然也可以指向指針類型變量。當這種指針變量用於指向指針類型變量時,我們稱之爲指向指針的指針變量,這話可能會感到有些繞口,但你想到一個指針變量的地址就是指向該變量的指針時;這種雙重指針的含義就容易理解了。下面用一些圖來描述這種雙重指針,見圖6-13。

在圖中,整型變量i的地址是&i,將其傳遞給指針變量p,則p指向i;實型變量j的地址是&j,將其傳遞給指針變量p,則p指向j;字符型變量ch的地址是&ch,將其傳遞給指針變量p,則p指向ch;整型變量x的地址是&x,將其傳遞給指針變量p2,則p2指向x,p2是指針變量,同
時,將p2的地址&p2傳遞給p1,則p1指向p2。這裏的p1就是我們談到的指向指針變量的指針變量,即指針的指針。
指向指針的指針變量定義如下:
類型標識符**指針變量名
例如:float**ptr;
其含義爲定義一個指針變量ptr,它指向另一個指針變量(該指針變量又指向一個實型變量)。由於指針運算符“*”是自右至左結合,所以上述定義相當於:
float*(*ptr); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章