C語言 一級指標與二級指標詳細介紹

2022-10-07 06:36:06 字數 1119 閱讀 2029

指標的概念

指標就是位址, 利用這個位址可以找到指定的資料

指標就是位址, 那麼在使用的時候, 常常會簡單的說 指標變數為指標

指標變數就是儲存位址的變數

int *p1;// 申請了乙個變數, 即在記憶體中開闢了一塊記憶體, 儲存資料

// 開闢了 8 個位元組,www.cppcns.com 在 mac 下 指標都佔 8 個位元組

使用指標, 實際上應該說成使用指標變數

1> 算術運算

+1 移動幾個位元組?

程式設計客棧         看型別: int *,  long *,  char *

2> 獲得位址表示的資料

指標裡面儲存的是位址, 就可以將該位址中的資料取出來

定址運算子 *&p1  -> p1

&www.cppcns.comnbsp;  3> 修改改位址中的資料

4> 作為函式引數的使用(*****)

如果傳遞的不是指標變數, 而是普通的變數, 就是值傳遞: 函式內與函式外是兩個不同的變數, 只是儲存的資料相同(好比傳送檔案)

如果傳遞的是指標變數, 即傳遞的是位址, 那麼就是引用傳遞: 函式內外可以看成同乙個變數(好比傳送鏈結)

由於函式引數使用指標後, 可以實現函式內變數修改後, 影響到函hawgljzw數外的變數. 因此常常將函式引數設定為指標型別的變數

實現利用引數返回多個資料的函式

scanf("%d", &num);

二級指標

二級指標就是指向一級指標的指標(n 級指標就是 指向 n-1 級指標的 指標)

指標的本質就是位址, 那麼幾級指標也只是乙個位址, 唯一不同的就是定址的結果(*p)

1>在開發中使用 二級指標的地方就是利用函式或方法返回乙個 一級指標資料

2> 如果需要用函式引數返回資料, 如果返回的是一般的資料, 傳遞一級指標

3> 如果返回的是乙個一級指標, 那麼引數應該是乙個二級指標

4> 如果返回的是乙個 n 級指標, 那麼引數應該是乙個 n+1 級指標

下圖中*p1指的是num的值,*p2指的是p1記憶體的位址,**p2也指的是num的值......

本文標題: c語言 一級指標與二級指標詳細介紹

本文位址: /ruanjian/c/166304.html

一級指標與二級指標

如下圖所示,整型指標xptr指向變數x的位址。原始碼 include int main 實現方法一如下圖所示,先為二級整型指標ptr分配空間,然後賦值。原始碼 include include int main printf n return 0 執行結果 實現方法二 如下圖所示,先為二級整型指標pt...

一級指標二級指標

例如 int p null int代表指標p指向的資料型別是int型,代表這是乙個指標變數,1 指標變數儲存的內容是指向的變數的位址 2 在使用sizeof判斷指標的位元組數時,在32位機器上為4個位元組,在64位機器上為了相容,仍然是四個位元組大小 3 小知識點,不同型別的指標除了指向的變數資料型...

二級指標與一級指標重溫

今天在和同學討論為了介面的一致性,怎麼處理野指標的問題,我就想在以前寫過的鍊錶中練習一下。選擇了在雙向迴圈鍊錶中erase節點時,傳入二級指標並置空他。沒想到遇到了問題,曾經以為對二級指標,一級指標的問題已經了解了,因為在單鏈表中,頭插,尾插中已經訓練過,在鍊錶為空時有3種處理辦法。第一種,是需要傳...