二級指標的操作及理解 演示

2021-08-20 07:39:41 字數 861 閱讀 6496

首先一段**:

char a[4] = ;

//int * ptr = a; //a的位址賦值給ptr

char * arr[4];

char i = 0;

char ** parr = arr; //arr的位址賦值給parr

char * str;

*(arr) = a; //a的位址賦值給arr[0]

arr[1] = a + 1; //a[1]的位址賦值給arr[0]

*(arr + 2) = a + 2;

*(arr + 3) = a + 3;

str = *parr; //arr[0]的內容賦值給str

printf("%d\n",str[0]);

str = *(parr+1); //arr[1]的內容賦值給str

printf("%d\n",str[0]);

/*parr是指標的指標,char ** parr = arr賦值後,

指標變數parr儲存的就是陣列arr的位址

*(parr+i)相當於arr[i],由於arr是指標陣列,裡面儲存的是指標,

同時,上面的賦值語句,將陣列arr4個變數賦值為陣列a每乙個元素的位址

*/ for (i=0; i<4; i++)

vc++6.0執行介面如下,除錯功能還是不錯的,

具體的資訊如下所示:

理解二級指標

我在一篇教程中看到下面這段,它描述指向指標的指標是如何運作的。引用文章相關段落如下 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 int main 執行後的輸出結果如下 a 0xbfe9f968 b 0xbfe9f964 c 0xbfe9f964 c 0xbfe9f964 c 0xbfe9f968 c 12按照輸出理解,首先 c先寫成 c 的形式,c先指向b,然後此表示式可...