int num = 10;
int *p1 = #
int *p2 = p1;
//指標的指向結構如下圖所示
0x4000
0x3000 <———————— p2
0x2000 <—————— p1
num&p2 表示的是儲存p2指標的位址
p2 表示的是p2指向的位址,即指標p1存放的位址
*p2 表示指標p2指向位址中所存的值,即指標p1指向的位址,即變數num的儲存位址
**p2 表示指標p2指向位址中所存位址值對應儲存的數值,即指標p1指向位址中存的值,即變數num的值
&p1 表示指標p1儲存的位址
p1 表示指標p1指向的位址,即變數num儲存的位址
*p1 表示指標p1指向位址中存的值,即變數num的值
&num 表示變數num儲存的位址
num 表示變數num的數值
一級指標與二級指標
如下圖所示,整型指標xptr指向變數x的位址。原始碼 include int main 實現方法一如下圖所示,先為二級整型指標ptr分配空間,然後賦值。原始碼 include include int main printf n return 0 執行結果 實現方法二 如下圖所示,先為二級整型指標pt...
二級指標與陣列
char str 這是字元指標陣列,每乙個陣列元素是乙個指標變數,而每個指標變數指向字串首字元位址,即是字串的位址。因為每乙個字串都代表的是乙個位址,是字串首字元的位址。字串常量是放在文字常量區,是不可以更改的。而指標陣列str裡面存放的是指向字串位址,它是可變的。如str 0 是可變的,它是指標變...
二級指標與一級指標重溫
今天在和同學討論為了介面的一致性,怎麼處理野指標的問題,我就想在以前寫過的鍊錶中練習一下。選擇了在雙向迴圈鍊錶中erase節點時,傳入二級指標並置空他。沒想到遇到了問題,曾經以為對二級指標,一級指標的問題已經了解了,因為在單鏈表中,頭插,尾插中已經訓練過,在鍊錶為空時有3種處理辦法。第一種,是需要傳...