C語言 多級指標 解引用

2021-08-01 10:22:57 字數 1019 閱讀 8660

1.解引用

int main()

{

int a = 10;

int b = 20;

printf("%d %d\n",a,b);//10 20

int *p = &a;//p裡儲存a的位址

*p = 100;//對p解引用,將p指向的位址的內容賦為100

p = &b;//p指向b

*p = 200;//將p指向的位址的內容賦為200

printf("%d %d\n",a,b);// 100 200

int **pp = &p;//二級指標pp指向p

*pp = &a;//對pp解引用一次,即,使p指向a

**pp = 1000;//對pp兩次解引用,第一次對pp解引用即p裡面儲存1000,

//第二次對p解引用即a裡面儲存1000

printf("指向a時p的內容:%d\n",*p);//1000

*pp = &b;//pp指向b

**pp = 2000;//第一次對pp解引用即p裡面儲存2000,

//第二次對p解引用即b裡面儲存2000

printf("指向b時p的內容:%d\n",*p);//2000

printf("%d %d\n",a,b);//1000 2000

int ***ppp=&pp;

**ppp=&b;//使p指向b

***ppp=20000;//對ppp解引用三次

printf("pp內容:%d p內容%d b=%d\n",**pp,*p,b);//20000 20000 2000

**ppp=&a;//使p指向b

***ppp=10000;//對ppp解引用三次

printf("pp內容:%d p內容%d a=%d\n",**pp,*p,a);//10000 10000 10000

C語言 指標pointer 與解引用

符號 的三種概念 a a b 乘法 兩邊都是變數 乘法概念 int p 識別符號 和 變數之間 申明概念 申明了乙個指標p p 100 指向概念 指標有三個值,最關係其中兩個值 p和 p p 指標p,存放的是a的位址 指向目標的位址 p p指向目標的內容 不常用 p 存放的也是位址,是指標的位址 理...

c語言 解引用

最近接觸到了乙個新的概念,叫 解引用 就是在函式傳參時,如果傳入的是指標,在函式體中未對它解引用,那麼,這個指標指向的值就不會發生改變。引用別人部落格中的概念 參考這三篇部落格,感謝他們。首先,我們來看swap的常見錯誤用法。void swap int p1,int p2 void swap err...

指標解引用

所有的變數使用到這一點,在本教程中有乙個共同點 該變數必須先宣告在編譯的時候。這導致了兩個問題 第一,很難有條件地宣告乙個變數,把它在乙個if語句塊之外 在這種情況下,它會超出範圍時,塊的結束 第二,所有陣列的大小必須決定在執行程式之前。例如,以下是不合法的 1 2 3 4 5 cout how m...