指標變數的運算

2021-06-16 20:47:00 字數 1161 閱讀 3902

一:指標變數的運算

++*p

(*p)++

*p++

*++p

四者之間的差別

:

首先說一下:運算的優先順序:

++

*

同優先順序,結合方向為自右向左

(1)++*p,則相當於++(*p),給p指向的變數+1,然後取該變數的值。

通俗一點就是:++在前,先自增(*p)指向的值,值由6變為7,然後取出。

圖展示如下:

(二)

(*p)++,則是先取p指向的變數值,然後該變數+1

即:++在後,先取出*p的值,然後再加1.所以取到的值仍未6

但下面再用時*p此值變為7

(三)*p++相當於*(p++),表示取p所指向變數的值,然後p+1;

截圖如下:

(四)

*++p相當於*(++p),先給p+1,然後取p所指向變數的值

和三比較類似,++在前,所以p的值先加1,然後取出p所指向的值,此時為7

C語言指標變數的運算

指標變數儲存的是位址,本質上是乙個整數,可以進行部分運算,例如加法 減法 比較等,請看下面的 複製 格式化複製 include intmain else return0 include int main else return 0 執行結果 a 0x28ff44,b 0x28ff30,c 0x28f...

指標的高階宣告 指標變數的運算

int f 宣告乙個整數 int f 宣告乙個指向整型的指標 int f,g 這個並不是兩個整形指標,而是乙個指標,乙個整型 int f 乙個返回值為整型的函式 int f 本質是乙個函式,函式的返回值為指向整型的指標 int f 本質是乙個指標,指標指向乙個返回值為整型的函式 int f 本質是乙...

C語言 指標變數運算操作

指標變數除了的8種基本操作,還可以使用關係運算子來比較指標。1 賦值 注意,位址應該和指標型別相容。也就是說,不能把double型別的位址賦給指向int的指標,至少要避免不明智的型別轉換。c99 c11已經強制不允許這樣做。int a 6 int b 0 int p1 a int p2 賦值 p2 ...