指標陣列和陣列指標
1、字面意思來理解指標陣列和陣列指標
(1)、指標陣列的實質是乙個陣列,這個陣列中儲存的內容全部是指標變數。
(2)、陣列指標的實質是乙個指標,這個指標指向的是乙個陣列。
2、分析指標陣列和陣列指標的表示式
(1)、int *p[5]; int(*p)[5]; int *(p[5]);
(2)、一般規律:int *p(p是乙個指標); int p[5];(p是乙個陣列)
總結:我們在定義乙個符號時,關鍵在於:首先搞清楚你定義的符號是誰(第一步:找核心);其次再來看誰跟核心最近、
誰跟核心結合(第二步,找結合);以後繼續往外擴充套件(第三步:繼續向外結合直到整個符號完成)。
(3)、如果核心和*結合,表示核心是指標;如果核心和結合,表示核心是陣列;如果核心和()結合,表示核心是函式;
(4)、用一般規律來分析上述三個表示式:
第乙個:int *p[5];
找核心:p;其次比*的優先順序要高,所以p先和結合,所以p是乙個陣列;然後再和*結合,表示是乙個指標陣列;
而且陣列中儲存的全部是int型別的指標變數。
第二個:int (*p)[5];
找核心:p;因為有(),所以p先和*結合,表示p是乙個指標,然後和結合,所以是乙個指標陣列,陣列中的元素全部
是int型別。
第三個:int *(p[5]);
這個和第乙個一樣,()可有可無。
總結1:優先順序和結合性是分析符號意義的關鍵
在分析c語言問題時不要胡亂去猜測規律,不要覺得c語言無從捉摸,從已知的規律出發按照既定的規則去分析即可。
總結2:學會逐層剝離的分析方法
找到核心後從內到外逐層的進行結合,結合之後可以把已經結合的部分當成乙個整體,再去和整體外邊的繼續結合。
總結3:基礎理論和原則是關鍵,沒有無緣無故的規則
指標陣列和陣列指標
有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 inta 1 int p a 指標的指標 int p2p p 簡單陣列 intb 20 指標陣列 int p 10 指標陣列,含有10個指標元素,即每乙個元素都是乙個指標 陣列指標 int p 10 這個指標用來指向...
指標陣列和陣列指標
理解這兩個概念,當從語言學的語法角度開始,定語 名詞,即 的 語句。指標陣列 指標的陣列 陣列指標 陣列的指標。一 指標陣列 元素為指標的陣列 顧名思義,就是說的首先是乙個陣列吧,然後陣列的元素是指標而已。說明形式為 type pointer array constant1 constant2 co...
指標陣列和陣列指標
該文時自己對指標陣列用法的一點總結,還望高手指點不足原文如下 由於以前對指標陣列不太明白,所以自己寫了 乙個小的測試程式來驗證了自己的猜測,先總結如下 指標陣列,由名字就可以知道的該陣列中的成員都是為指標的。其定義的方法為 char p 5 該初定義乙個包含5個char 型別的陣列的指標,由於p本身...