二級指針與指針的引用

這兩個東西在過去的編程中用的次數也不少了,但是卻一直不太瞭解原理,今天自己想了好久,發現鑽了不少牛角尖,越想越不明白原理,於是查閱了一些資料,算是多少有了些成果,自己總結一下吧。

 

二級指針,也就是指針的指針,作用主要是爲了改變指針本身的數據,在這裏,可以把指針本身看成一個變量,既然是變量,那就肯定可以修改其內容,所以可以藉助一個二級指針來改變指針本身的數據。

 

指向引用的指針,也就是類似 *&的定義變量方式,開始對這個操作符一直不理解,因爲過去在我看來,指針操作符和地址操作符應該是互逆的操作符,把他們放一起,可以抵消掉,但是深究了一下,發現不是這樣,這個操作符是左結合的,也就是說,如果這麼定義一個變量:int *&i,那麼,結合起來應該是這樣:(int*)(&i),也就是說,這是個指針類型的引用,用這個變量,可以操作指針本身的值。

 

那麼,有沒有指向引用的指針?答案是沒有。因爲引用不是變量,因此不存在指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章