在學資料結構鍊錶的初始化時碰到了二級指標,一開始十分陌生這種用法不知其意思,經過初步學習了解了其大意。
一級指標與二級指標的意義
一級指標
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 2view codevoid swap(int *a,int *b)39
intmain ()
10
二級指標
當需要改變的是指標的值時,(一定要分清是指標的指向,還是指標指向的東西)
例:在資料結構的鍊錶的初始化中,傳入二級指標的原因是並不是改變主函式中指標指向者的內容,建立新節點的本質其實是改變指標指向,即改變指標自己本身。因此如果傳入的是一級指標,只能改變指標指向的內容。
C語言二級指標
指標是c語言的靈魂,我想對於一級指標大家應該都很熟悉,也經常用到 比如說對於字串的處理,函式引數的 值,結果傳遞 等,對於二級指標或者多級指標,我想理解起來也是比較容易的,比如二級指標就是指向指標的指標.n級指標就是.但是可能大家比較不容易理解的是,二級指標或者多級指標用在 呢?怎麼使用呢?有沒有必...
關於二級指標
include include struct stu void func2 struct stu s void main 上述 中有段錯誤。說明 1 在呼叫func2時,系統會重新建立形參指標變數,且值 s。在該函式裡面僅僅是對形參重新賦值,但該形參的改變不會改變傳遞的實參 值傳遞 所以func2執...
關於二級指標
問 為什麼要使用二級指標?答 一級指標只能修改指標指向的內容,不能修改指標自身的值。當我們沒有給一級指標分配記憶體時,直接傳遞指標到函式內,傳遞的只是該指標的拷貝,函式操作完只能在本函式內實現功能,但是在main 函式中,呼叫完函式,並不能實現被呼叫函式的功能。下面我將用 演示二級指標與一級指標的區...