陣列指標與指標陣列的區別

2021-10-21 07:05:43 字數 733 閱讀 2235

經常有人會搞混 int *ap[10] 和 int (*pa)[10] 到底哪乙個是指標陣列,哪乙個是陣列指標,下面我們來捋一捋,怎樣區分陣列指標和指標陣列,以及它們的區別。

陣列指標,即指向陣列的指標

int a[1]

[10],b[3]

[9],c[9]

;int

*p;//指向一維陣列的指標變數,也可指向整型變數

int(

*pa)[10

];//指向二維陣列的指標變數

//p=a;pa=b;pa=c;都會報錯

p=c;

pa=a;

指標陣列,即由指標組成的陣列

int a,b,c,d;

int*ap[10]

;ap[0]

=&a;

ap[1]=

&b;ap[2]

=&c;

ap[3]=

&d;

優先順序:()>>*,[ ]與ap結合的優先順序比 * 高,所以ap[10]是乙個陣列,相當於有10個指標變數

//陣列指標

int*p;

//指向一維陣列的指標變數,也可指向整型變數

int(

*pa)[10

];//指向二維陣列的指標變數

//指標陣列

int*ap[10]

;

陣列指標與指標陣列區別

前提 陣列指標是指標 指標陣列是陣列 示例 int p1 5 和 int p1 5 前者為指標陣列 後者為陣列指標。涉及運算符號優先順序 陣列下標比取值運算子 的優先順序更高。自右向左結合。先結合陣列下標.先談指標陣列 int p1 5 指向整型資料的指標變數。0 1 2 3 4 int 結論 指標...

陣列指標與指標陣列的區別

一 陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,...

陣列指標與指標陣列的區別

一 陣列指標 也稱行指標 定義int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指...