指针加减法的要点

指针加减法的要点

1.  指针加数字:

int arr[10]={1};

int *ip=arr;

ip++;  //加一个整型单元格,因为是int型,所以加4个字节=sizeof(int

 

double brr[10]={12.3}'

double *dp=brr;

dp++; //加一个double型单元格,8个字节=sizeof(double)

指针加法需要调整,调整的权重为sizeof(指针去掉*)

 

int *p=2000; //error 没有地址;

int *p=(int *p)2000; //ok P使用了2000这个值;

2.  指针减数字:

指针减法需要调整,调整的权重仍然为sizeof(指针去掉*)

3.  指针加指针

非法的,指针不可以加指针;

4.  指针减指针

合法的,表示间隔的单元个数

具体算法为:{ 第一步:算出间隔的字节数;

                 { 第二步:除以调整的权重

 

指针加减法的要点_第1张图片

第一个格子的地址保存100,倒数第二个格子保存132,从到p到q,中间间隔了八个格子,再除以调整的权重。

 

 

你可能感兴趣的:(C)