陣列指標與指標陣列區別

2021-10-17 03:51:30 字數 1229 閱讀 5380

前提:

陣列指標是指標

指標陣列是陣列

示例:

int

*p1[5]

;

int

(*p1)[5

];

前者為指標陣列 後者為陣列指標。

涉及運算符號優先順序:陣列下標比取值運算子*的優先順序更高。自右向左結合。先結合陣列下標.

先談指標陣列:

int

*p1[5]

;

指向整型資料的指標變數。0 1 2 3 4 (int *)

**結論:**指標陣列是乙個陣列,每乙個陣列元素存放乙個指標變數。

**示例:

#include

intmain()

;int i;

for(i=

0;i<

5;i++

)return0;

}

這一段與陣列的輸出迴圈體大致相似。

for

(i=0

;i<

5;i++

)

只是陣列名換成指標變數而已。所以指標陣列依然是陣列。

指標陣列運用到字串上相當便捷(可以不用二維陣列)

初始化(字串打雙引號)之後輸出注意字串輸出給位址即可 不用打 * 這個取值符號直接寫為p[i]

陣列指標

int

(*p1)[5

];

指標變數p1指向整個陣列,0 1 2 3 4(int),且資料型別為整型資料。

結論:陣列指標是乙個指標,它指向的是乙個陣列。

**示例:

#include

intmain()

;int

(*p)[5

]=&temp;

int i;

for(i=

0;i<

5;i++

)return0;

}

切記不可這樣初始化:

int (*p)[5]=;

編譯器不會報錯但輸出內容是錯的。

陣列指標也是如此,定義為char時輸出不加*

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

一 陣列指標 也稱行指標 定義 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 該語句是定義乙個陣列指標,指...

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

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