C言語 一級指針與二級指針詳細引見。本站提示廣大學習愛好者:(C言語 一級指針與二級指針詳細引見)文章只能為提供參考,不一定能成為您想要的結果。以下是C言語 一級指針與二級指針詳細引見正文
指針的概念
指針就是地址, 應用這個地址可以找到指定的數據
指針就是地址, 那麼在運用的時分, 經常會復雜的說 指針變量為指針
指針變量就是存儲地址的變量
int *p1;// 請求了一個變量, 即在內存中開拓了一塊內存, 存儲數據
// 開拓了 8 個字節, 在 Mac 下 指針都占 8 個字節
運用指針, 實踐上應該說成運用指針變量
1> 算術運算
+1 挪動幾個字節?
看類型: int *, long *, char *
2> 取得地址表示的數據
指針外面存儲的是地址, 就可以將該地址中的數據取出來
尋址運算符 *&p1 -> p1
3> 修正改地址中的數據
4> 作為函數參數的運用(*****)
假如傳遞的不是指針變量, 而是普通的變量, 就是值傳遞: 函數內與函數外是兩個不同的變量, 只是存儲的數據相反(好比發送文件)
假如傳遞的是指針變量, 即傳遞的是地址, 那麼就是援用傳遞: 函數內外可以看成同一個變量(好比發送鏈接)
由於函數參數運用指針後, 可以完成函數內變量修正後, 影響到函數外的變量. 因而經常將函數參數設置為指針類型的變量
完成應用參數前往多個數據的函數
scanf("%d", &num);
二級指針
二級指針就是指向一級指針的指針(n 級指針就是 指向 n-1 級指針的 指針)
指針的實質就是地址, 那麼幾級指針也只是一個地址, 獨一不同的就是尋址的後果(*p)
1>在開發中運用 二級指針的中央就是應用函數或辦法前往一個 一級指針數據
2> 假如需求用函數參數前往數據, 假如前往的是普通的數據, 傳遞一級指針
3> 假如前往的是一個一級指針, 那麼參數應該是一個二級指針
4> 假如前往的是一個 n 級指針, 那麼參數應該是一個 n+1 級指針
下圖中*p1指的是num的值,*p2指的是p1內存的地址,**p2也指的是num的值......
感激閱讀,希望能協助到大家,謝謝大家對本站的支持!