下面用乙個例項來分析此問題,在如下**中:
#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...