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的值......
感激浏覽,願望能贊助到年夜家,感謝年夜家對本站的支撐!