首先說:沒有關係!
先告訴自己三遍:沒有關係,沒有關係,沒有關係
例:
#include
intmain
(void),
,};int
*p1 = arr[0]
;//一級指標
int*
*p2 = arr;
// 二級指標,即指標的指標
int(
*p3)[2
]= arr;
// 指向乙個內含兩個int型別值陣列
printf
("**p2 = %d\n",*
*p2)
;printf
("**p3 = %d\n",*
*p3)
;printf
("p2 = %p, *p2 = %p\n"
, p2,
*p2)
;printf
("p3 = %p, *p3 = %p\n"
, p3,
*p3)
;return0;
}
編譯執行結果如下:
p2是指標的指標,它指向的指標指向int
而陣列名arr表示指向陣列的指標,陣列內含2個int型別的元素
先來看下:
int
(*p3)[2
]= arr;
// 指向乙個內含兩個int型別值陣列
p2和arr就不是同一種型別。
也就是說,*p2指向a[0]。然而a[0]並不是int 型別的變數,與p2應該指向的型別不同,因此在初始化時編譯器會發現型別不匹配,產生編譯錯誤。
二維陣列和指標的關係
二維陣列和指標 要用指標處理二維陣列,首先要解決從儲存的角度對二維陣列的認識問題。我們知道,乙個二維陣列在計算機中儲存時,是按行儲存的,即先儲存第一行的元素,再儲存第二行的元素。當把每一行看作乙個整體,即作為乙個大的陣列元素時,原來的 二維陣列也就變成乙個一維陣列了。而每個大陣列元素對應原來 二維陣...
C 二維陣列和指標的關係
再翻開c primer時,不禁感嘆此書的嚴謹細緻。再學習下陣列和指標。主要講解二維陣列和指標的對應關係。掃盲 複習 陣列是一種復合資料型別,對資料型別,必然要介紹定義和初始化。定義和初始化 陣列的維數必須用值大於等於1的常量表示式定義。此常量表示式只能包含整型字面值常量 列舉常量貨用常量表示式初始化...
二維陣列和陣列指標的關係
昨天既然寫了一些關於陣列指標的話題,那麼今天就寫一些關於陣列指標的話題吧!陣列指標 這樣讀 陣列的指標 即指向陣列的指標,就是陣列指標,其本質就是乙個指標 比如 int a 3 就是乙個陣列指標,運用如下 include include include int main int a 3 3 int ...