指標運算 c語言

2021-10-02 10:12:43 字數 879 閱讀 9553

/**

指標運算:

加法:每一次加1 就是所指向的首位址加乙個sizeof(型別)

int a[10];

int *p = a;

*(p+i) = a[0+i];

減法同上 但是同樣要注意範圍的情況

+= -= ++ --

值得注意的是

也有兩個指標做減法 但是兩個指標相減的意思是位址的差值/sizeof(型別)

*的優先順序很高 但是沒++高

*p++常用於陣列的的連續空間操作

**/#include

intmain()

;int

*p ,

*p4;

p = a;

p4 =

&a[4

]; printf

("p0=%p *p0=%d\n"

,p,*p)

;//p0=0060fee8 *p0=1

printf

("p1=%p *p1=%d\n"

,p+1,*

(p+1))

;//p1=0060feec *p1=2

printf

("p4=%p *p4=%d\n"

,p4,

*p4)

;//p4=0060fef4 *p4=5

printf

("p4-p的值=%d\n"

,p4-p)

;//p4-p的值=4 p4-p=16/4 = 4 int是4位元組

for(p;

*p!=

5;p++

)printf

("%d\t"

,*p)

;return0;

}

C語言 指標運算

p a 將變數位址賦值給指標 p array 將陣列位址賦值給指標 p array i 將陣列元素賦值給指標 p1 p2 將指標位址賦值給指標 include 引用函式庫 void main f0889414 f0889414 f0889414 10 10 10 p 1 和 p 意義不相同,前者沒有...

C語言指標運算

int a int p a include intmain int p a printf p p n p printf p 1 p n p 1 printf p d n p p a 0 printf p 1 d p 1 p 1 a 1 return0 輸出 p 000000000062fe00 p ...

C語言指標 指標的運算

include int main void 執行這段 會出現錯誤嗎?如果出現錯誤,是什麼錯誤?分析 printf一種常規的用法就是printf please input a data 這種用法相信很多人都使用過,但是將這種用法分析一下,這樣的用法printf函式接收到的引數是乙個常量字串的首位址,然...