指標的運算

2021-08-17 07:59:46 字數 1156 閱讀 4397

指標的運算包括

1、指標的加法

2、指標的減法

char     short     

int      long      long long     float     double 

位元組數    1           2         2/4       4                 8               4            8

(int不加說明為4個位元組)

對指標的加法而言  指標是不能加指標的 它只能加乙個數字 

比如 指標+1: 加乙個單元格  需要調整(調整的權重:為指標去掉乙個星號*,然後求sizeof)

eg:   int*p;p+1加4個位元組=sizeof(int)

double*p;p+1,加8個位元組=sizeof(double)

char**p;p+1,加4個位元組=sizeof(char*)

int main()

對於指標的減法而言  它可以表示為 指標減去乙個數 也可以是指標減指標

指標減去乙個數 和指標加乙個數 差不多 都需要調整權重下面是指標減去乙個數 

int main()

指標-指標  表示間隔單元個數

1、算出間隔位元組數(正負)2、除以權重

int main()

;//x

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

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

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

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

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

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

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

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

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

return 0;

}

指標的運算

指標運算 指標演算法並不依賴於指標的型別,如果p是乙個指向char的指標,那麼p 1就指向下乙個char 算術運算 指標的算數運算只限於兩種形式 指標運算只有用於陣列中其結果才是可以 的,對於任何並非指向陣列元素的指標執行算數運算其結果是非法的 1.指標 整數 結果也是指標 這種形式只能用於指向陣列...

指標的運算

include int main int p arr p 10 p p 20 printf d,08x n arr 0 arr 1 return 0 指標 1的含義,首先思考一下指標 1可能的幾個含義 1 加整個陣列 這種含義不太符合實際,題中要的是遍歷陣列中的數。如果是加整個陣列,那就是直接跳過去...

指標的運算

指標加法 指標 1 加乙個單元格 指標 數字 需要調整,調整的權重為sizeof 指標去掉乙個 指標全部為4個位元組 1級指標,2級指標。include int main 指標 數字 需要調整 include int main 指標 指標 1 算出位元組 2 除以調整的權重 include int ...