C語言(關於二級指標)

2022-06-01 07:57:11 字數 846 閱讀 4162

在學資料結構鍊錶的初始化時碰到了二級指標,一開始十分陌生這種用法不知其意思,經過初步學習了解了其大意。

一級指標與二級指標的意義

一級指標

int x = 1;

int *a       //定義了乙個指向int 型變數的指標a;

a = &x;

1.a即指 x 的位址 

2.*a其實就是a指向的內容, ,*a即為x,可以做左值也可以做右值,對其操作都等同於對x操作

二級指標

int x= 1;

int *a;

int **b;

b=&a;

1.b是指標a的位址,b是指向指標a的指標;

2.*b代表指標a,  如果令: int c = 5; *b = &c;   相當於將指標a指向了c;

3.**b代表了指標a指向的int型變數x,   如果令:**b = 2; 相當於將 x = 2;

為什麼存在二級指標?何時使用

一級指標

當需要改變的是指標指向的值時

例:當用變數作為引數傳給函式,而函式需要改變該變數時

1 #include 2

void swap(int *a,int *b)39

intmain ()

10

view code

二級指標

當需要改變的是指標的值時,(一定要分清是指標的指向,還是指標指向的東西)

例:在資料結構的鍊錶的初始化中,傳入二級指標的原因是並不是改變主函式中指標指向者的內容,建立新節點的本質其實是改變指標指向,即改變指標自己本身。因此如果傳入的是一級指標,只能改變指標指向的內容。

C語言二級指標

指標是c語言的靈魂,我想對於一級指標大家應該都很熟悉,也經常用到 比如說對於字串的處理,函式引數的 值,結果傳遞 等,對於二級指標或者多級指標,我想理解起來也是比較容易的,比如二級指標就是指向指標的指標.n級指標就是.但是可能大家比較不容易理解的是,二級指標或者多級指標用在 呢?怎麼使用呢?有沒有必...

關於二級指標

include include struct stu void func2 struct stu s void main 上述 中有段錯誤。說明 1 在呼叫func2時,系統會重新建立形參指標變數,且值 s。在該函式裡面僅僅是對形參重新賦值,但該形參的改變不會改變傳遞的實參 值傳遞 所以func2執...

關於二級指標

問 為什麼要使用二級指標?答 一級指標只能修改指標指向的內容,不能修改指標自身的值。當我們沒有給一級指標分配記憶體時,直接傳遞指標到函式內,傳遞的只是該指標的拷貝,函式操作完只能在本函式內實現功能,但是在main 函式中,呼叫完函式,並不能實現被呼叫函式的功能。下面我將用 演示二級指標與一級指標的區...