指標陣列和陣列指標

2021-07-25 06:30:47 字數 552 閱讀 1265

指標陣列,故名思義,就是指標的陣列,陣列的元素是指標;

陣列指標,同樣,就是直想陣列的指標。

簡單舉例說明:

int *p[2]; 首先宣告了乙個陣列,陣列的元素是int型的指標。

int (*p)[2]; 宣告了乙個指標, 指向了乙個有兩個int元素的陣列。

其實這兩種寫法主要是因為運算子的優先順序, 因為的優先順序比*高。所以第一種寫法,p先和結合,所以是乙個陣列,後與*結合,是指標。後一種寫法同理。

指標陣列如下處理就會很清楚:

typedef int* intptr;

intptr p[2];

一目了然,所以為了避免迷惑,做適當的typedef也是很有必要的。

同理,陣列指標也可以作類似處理:

typedef int intarray2[2];

intarray2 * p;

和原來的宣告都是等價的。

個人建議程式設計過程中採用typedef來進行型別定義,這樣程式看起來會清晰很多。

指標陣列和陣列指標

有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 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本身...