通常指標作為函式引數時,我們傳進來的是乙個引數的引用型別,我們對引用型別的理解,簡單來說就是可以使原來的值發生變化,而不是在函式中生成某個變數的備份。
設想這樣乙個場景,我想初始化乙個煉表頭節點,但是我又不想在main函式中去做這件事情,而是單獨拎出來去執行,傳入乙個頭節點,利用乙個init()函式,對其進行初始化
那麼問題來了,我傳入乙個指標可以嗎?
像這樣:
哎呀,沒有錯誤**了,回頭再改回去,截圖過來
其實之傳入一級指標是不行的,加入傳入了乙個(* p_listhead),在函式內部,會生成乙個_p_listhead變數作為傳入引數的備份,在函式中所有的操作,都是對這個備份做的,當函式結束後,這個變數被**,因此,是沒辦法達到真正初始化目的的!
二級指標就有用了,含義是指向指標的指標,傳入的相當於指標本身的乙個引用,因此,函式內部的操作,都是對指標本身的操作,因此可以實現初始化!
像這樣!
C語言二級指標
指標是c語言的靈魂,我想對於一級指標大家應該都很熟悉,也經常用到 比如說對於字串的處理,函式引數的 值,結果傳遞 等,對於二級指標或者多級指標,我想理解起來也是比較容易的,比如二級指標就是指向指標的指標.n級指標就是.但是可能大家比較不容易理解的是,二級指標或者多級指標用在 呢?怎麼使用呢?有沒有必...
C語言中二級指標的作用
c語言中不存在引用,所以當你試圖 改變乙個指標的值的時候必須使用二級指標。1.當不用指標時,引數傳入子函式的過程為值傳遞,子函式中修改的區域性變數的值對原來的實參並沒有影響。2.當用一級指標時,引數傳入子函式的過程為位址傳遞,子函式的實際操作是對指標的操作,那就可以通過子函式中對於實參指標的修改達到...
C語言日記 二級指標
指標不僅僅可以指向普通的資料型別,例如 int double char等,也可以指向乙份指標型別的資料,例如 int double char。如果乙個指標指向另外乙個指標我們就稱他為二級指標 指向指標的指標 假設有乙個 int 型別的變數 a,p1是指向 a 的指標變數,p2 又是指向 p1 的指標...