二級指標的理解

2021-06-22 12:58:54 字數 457 閱讀 2556

今天看到一段關於二級指標的使用,**如下:

#include int main()

**執行後的輸出結果如下:

&a=0xbfe9f968

&b=0xbfe9f964

&c=0xbfe9f964

&(*c)=0xbfe9f964

&(**c)=0xbfe9f968

**c=12

按照輸出理解,首先**c先寫成*(*c)的形式,*c先指向b,然後此表示式可以寫成*(&b),而*b又指向a,所以最終**c指向a,最終的輸出結果為12.

這個程式的作用是,我們要利用c通過b指標訪問a,這裡b是乙個指標變數,所以指向b的變數必須為指標,所以這裡宣告c的時候必須定義為指向指標的指標。指向指標的指標指向指標b的位址,然後通過b再指向變數a。有些繞口!!!!我去。。。。還得再理解下

理解二級指標

我在一篇教程中看到下面這段,它描述指向指標的指標是如何運作的。引用文章相關段落如下 1 2 inti 5,j 6,k 7 int ip1 i,ip2 j 現在我們可以這麼寫 1 int ipp ip1 那麼現在指標 ipp 指向了 ip1,ip1 指向了 i。ipp 就是 ip1,ipp 就是 i,...

二級指標理解

1 先看一反例 目的 通過函式mymalloc改變指標p的值 include include void mymalloc char s 我想在函式中分配記憶體,再返回 void main 以上例子中,p實際還是null,p的值沒有改變,為什麼?答 我們的目的就是要改變指標p的值,因為p本身就是指標,...

關於二級指標的理解

include void main charp int i for i 0 i 4 i 首先我們要明白,如果定義乙個字串陣列a 4 其實就是乙個一級指標,放的是第乙個字元的首位址,a 1放的就是第二個字元的首位址。這個也不難理解,同理我們知道n是乙個二維指標n裡面放的是a 0 的位址,a 0 放的是...