指標與數字

2021-08-18 11:37:06 字數 2488 閱讀 7714

1.   指標+數字

指標加法需要調整,調整的權重為

sizeof(

指標去掉乙個

*)

p1+3

p1+1(3和

1為權重

)int*p1     p1++  加sizeof(int)

shaort*p2  p2++  加sizeof(short)

double*p3  p3++  加sizeof(double)

int *p = (int *)2000; 整型佔四個位元組

printf("%d\n",p+2);    2008 =2000+4*2

printf("%d\n",(short *)p+2);    2004 short

佔兩個位元組

printf("%d\n",(float *)p+2);     2008 float

佔四個位元組

printf("%d\n",(double *)p+2);  2016 doble

佔八個位元組

printf("%d\n",(double **)p+2);  2008

去掉星號仍然為指標,指標佔四個位元組

printf("%d\n",(char *)p+2);     2002

字元型佔乙個位元組

printf("%d\n",(unsignedlong)p+2);  2002

直接加數字

2.   指標-數字

指標加法需要調整,調整的權重為

sizeof(

指標去掉乙個

*)

十進位制int *p = (int *)2010;

printf("%d\n",p-2);//2008

printf("%d\n",(short *)p-2);//2006

printf("%d\n",(float *)p-2);//2002

printf("%d\n",(double **)p-2);//1994

printf("%d\n",(char *)p-2);//2008

printf("%d\n",(unsigned long)p-2);//2008

十六進製制

int *p = (int *)0x2010;

printf("%x\n",p-2);//2008

printf("%x\n",(short *)p-2);//200c

(借一位為16,

16-4=12,16

進製12

表示為c

,下同)

printf("%x\n",(double *)p-2);//2000

printf("%x\n",(long long ***)p-2);//2008

(去掉星號為二級指標,二級指標仍為指標)

printf("%x\n",(float *)p-2);//2008

printf("%x\n",(char *)p-2);//200e

printf("%x\n",(unsigned long long)p-2);//200e

3.   指標+指標非法

4.   指標-指標合法,表示間隔的單元格數

指標

-指標需要調整,調整的權重為

sizeof(

指標去掉乙個

*)

分兩步:(

1)算出間隔位元組數

(2

)除以調整的權重

int arr[10] = ;

int *p = &arr[1];    //4

int *q = &arr[9];    //36

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

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

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

(36-4)/2

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

(36-4)/4

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

(36-4)/4

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

(36-4)/4

(去掉星號仍為指標)

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

(36-4)/8

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

(36-4)/1

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

(36-4

C語言 指標 數字 指標 指標

指標 數字 指標 1 指的是加乙個單元格,不同的指標型別需要調整,調整的權重為sizeof 去掉乙個 注意 arr i arr i eg double dp brr dp 乙個單元格是八個位元組 char cp crr cp 乙個單元格是乙個位元組 只有 指標 指標 有意義 1 先算出位元組數 2 ...

數碼電視指標

1 數字頻道輸出電平指的是平均功率電平,而不是峰值電平 射頻訊號呈現為類似雜訊充滿整個頻譜。這個指標的測量可以對測量點的訊號強度有乙個準確的認識,從而保證從前端到使用者整個傳輸工程中訊號的強度在乙個適當的範圍內。一般要求大於50dbuv。50 75dbuv範圍內 一般不超過65dbuv 過高容易增加...

c指標陣列與陣列指標與指標函式與函式指標筆記

include include typedef struct t ooxx t ooxx,pt ooxx 測試陣列指標 void test ooxx arrayp t ooxx p int num 測試指標陣列 void test ooxx parray t ooxx p,int num 測試函式指...