指標陣列和陣列指標

2021-09-30 12:37:35 字數 785 閱讀 3927

指標陣列:在c和c++中,陣列元素全為指標的陣列稱為指標陣列。就像元素型別全部為整形的陣列,我們稱之為整形陣列一樣。

陣列指標:指向陣列的指標被稱為陣列指標。

下面到底哪個是陣列指標,哪個是指標陣列呢:

a) int *p1[10];

b) int (*p2)[10];

每次上課問這個問題,總有弄不清楚的。這裡需要明白乙個符號之間的優先順序問題。

「」的優先順序比「*」要高。p1 先與「」結合,構成乙個陣列的定義,陣列名為p1,int *修飾的是陣列的內容,即陣列的每個元素。那現在我們清楚,這是乙個陣列,其包含10 個指向int 型別資料的指標,即指標陣列。至於p2 就更好理解了,在這裡「()」的優先順序比「」高,「*」號和p2 構成乙個指標的定義,指標變數名為p2,int 修飾的是陣列的內容,即陣列的每個元素。陣列在這裡並沒有名字,是個匿名陣列。那現在我們清楚p2 是乙個指標,它指向乙個包含10 個int 型別資料的陣列,即陣列指標。

再來一段**就更好理解了:

//p1是指標陣列(儲存指標的陣列),他存有十個int * 指標
int * p1[10];
int (*p2)[10];
cout << "指標陣列p1的長度為"

這段**輸出為:

指標陣列p1的長度為40

陣列指標p2的長度為4

指標陣列和陣列指標

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