指標和引用概念
指標和引用關係
指標引用和二重指標
平常寫**的時候大家多用到指標,卻很少臨幸引用這個東西,引用和指標其實分不開。
指標的是乙個物件的位址,我們通過位址來對這個物件進行操作,而引用則是乙個物件的別名,好比你叫張三,別名小張,我要打小張,張三必定挨打。所以我們通過對引用的物件進行操作,就修改了本身,這是我們在最初為了解決實參和形參問題的時候運用的辦法。
我們可以把引用看成可以自動解引用的const指標,物件是a,指標是b,引用是c。
1,我們有物件a的指標是b,a(b)這是指標的用法用b去訪問a。
2,還有a到(b)再到c,這是引用,我們看到的是a的引用是c,但卻可以把它看作中間有個指標b,然後進行了乙個解引用操作。
既然指標和引用有關係,那麼指標的指標,即二重指標和指標引用是不是也分不開呢,答案是一定的。
我最近是在寫二叉搜尋樹時遇到了這個問題,引用好用就好用在遞迴呼叫了,我們來看遞迴呼叫的特點,拿二叉樹來舉例。
在我們寫二叉樹的**時,它的每乙個向下傳遞的引數,都是根節點的左右子樹,那麼我們希望在它的子樹中進行操作時,可以直接繫結給它的父節點,這麼描述下來有沒有發現和引用很像,所以我們用引用去做遞迴呼叫就非常簡單了。
又因為我們在二叉樹中,經常用的是不是節點指標,所以就非常自然的出現了指標引用,這麼說是不是就非常的清晰明了呢。
指標變數的賦值與引用 二重指標
函式引數問題 一級指標與二級指標 區分實參與值參?指標變數的賦值和做函式的引數?指標到底是變數,還是位址?指標變數需要另外開闢記憶體儲存?要點 截圖展示區 1.include include void mymalloc char s int main 形參 出現在函式定義中,在整個函式體內都可以使用...
C語言之函式指標和二重函式指標
在分析uboot程式時發現乙個函式指標的用法,花了點時間研究一下。做個記錄。先說一下函式指標的基本用法。如下 int init01 void typedef int init func1 void 宣告一種函式型別 typedef int init func2 void 宣告一種函式指標型別 int...
引用和指標的關係
引用在定義時必須初始化,指標沒有要求 int rnum 未初始化不能通過編譯 int pnum 可以 2.一旦乙個引用被初始化為指向乙個物件,就不能再指向 其他物件,而指標可以在任何時候指向任何乙個同型別物件 int inum 10 int inum2 20 int rnum inum rnum i...