以指標方式訪問陣列幾種不同形式輸出語句解析

2021-07-08 10:50:27 字數 934 閱讀 5055

下面用乙個例項來分析此問題,在如下**中:

#include

using

namespace

std;

int main()

,*p;

for(p=a;p5;)

}

上面**輸出為:

將輸出表示式改為: *p++

輸出為:

將輸出表示式改為:*(++p)

輸出為:

將輸出表示式改為:*++p

輸出為:

將輸出表示式改為:(*p)++

輸出為:

將輸出表示式改為:++(*p)

輸出為:

從上面結果可以看出,運算子」++「要比」*「的優先順序高。

*(p++)和 *p++相當於:先讀*p輸出,然後執行p++

(++p)和 ++p相當於:先執行p++,再讀*p輸出

(*p)++相當於:先讀取陣列第乙個元素,然後對此元素進行」++「操作。

++(*p)相當於:先對陣列第乙個元素進行」++「操作,然後對其進行讀取操作。

符合型別(引用,指標)的兩種不同形式的定義

1。符合型別 引用,指標 陣列是否屬於 的兩種不同形式的定義 int a 10 定義乙個指標 int p a int pp a 定義乙個引用 int ra a int rra a 2。而且變數定義語句的識別優先於函式呼叫 class test test a 編譯器優先認為它是乙個引用變數的宣告,等價...

C語言中指標和陣列的幾種訪問形式

一 關於這幾種訪問形式,理論不多說,從例子看 1 陣列名 includeint main for i 0 i 5 i 2 指標變數名 includeint main pa a 注意陣列名直接賦值給指標 for i 0 i 5 i 從上面的兩個例子 四個結論 我們知道結果都是01234。即通過陣列名 ...

指標訪問二維陣列的幾種常用方法

內容皆是從網路上搜尋得到,寫在這裡備忘。一 因為二維陣列在記憶體上是按照逐行順序排列的,所以也可以看成是一維陣列,這樣訪問 1 include 2 int main void 3 5 int y int x 6int i 0 7 for i 0 i 2 2 i printf d t y i 8ret...