指標的算數運算(2)

2021-08-11 11:14:06 字數 595 閱讀 4296

在指標運算時,指標加數字合法,指標加指標不合法,指標減指標合法。

指標剪指標計算方法是兩個指標間隔的位元組數再除以調整的權重。

如:int arr[10]=;

int *p=&arr[1];

int *q=&arr[9];

printf("%d\n",p-q);//-(4*8)/4=-8

printf("

%d\n",q-p);//32/4=8

printf(

"%d\n",(short*)q-(short*)p);//32/2=16

printf("%d\n",(char*)q-(char*)p);//32/1=32

printf("%d\n",(double*)q-(double*)p);//32/8=4

printf("%d\n",(long*)q-(long*)p);//32/4=8

printf("%d\n",(char**)

q-(char**)p

);//32/4=8

printf("%d\n",(longlong)

q-(longlong)p

);//32

注:不同型別指標不能加減。

指標的算數運算

1.位元組數 char short int float double long longlong 位元組數 1 2 4 4 8 4 8 2.指標 1,計算指標 1具體加幾個位元組的方法是,給指標去掉乙個型號,讓後用sizeof 求出位元組大小 int p 整形指標變數 p 1,加4位元組 sizeo...

指標的算數運算

我們知道指標也是一種變數,既然是變數理論上便可進行算數運算,今天我們來一起 一下指標的算術運算。printf d,d n 0xa,0x0000000a int arr 10 int p arr p 10 p 大家看一下這串 思考一下這裡面的p 是加的什麼呢?這個p 意思是加乙個單元格,我們知道指標是...

指標的算數運算

指標加法 指標 1 可能出現的情況 加整個陣列 加1個位元組 加1個單元格 討論第1種情況 加整個陣列無現實意義,不可取。討論第2種情況 int arr int p arr p 10 p p 20 printf d,d n arr 0 arr 1 整形陣列乙個單元格佔四個位元組,將10轉化成十六進製...