經常有人會搞混 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;
優先順序:()>>*,[ ]與ap結合的優先順序比 * 高,所以ap[10]是乙個陣列,相當於有10個指標變數int a,b,c,d;
int*ap[10]
;ap[0]
=&a;
ap[1]=
&b;ap[2]
=&c;
ap[3]=
&d;
//陣列指標
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 該語句是定義乙個陣列指標,指...