对指针进行四种运算 ++ — + -
>指针的每一次递增,它其实会指向下一个元素的储存单元
>指针的每一次递减,它都会指向前一个元素的储存单元
>指针在递增和递减时跳跃的字节数取决于指针所指向变量数据类型长度,比如 int 就是 4 个字节。
递增 一个指针 ```c
include
include
include
const int MAX = 3;
int main(int argc, char argv[]) {
int Array[] = {10,20,30};
int ptr;
int i;
// 指针中数组的地址
ptr=Array;
for(i=0;i<MAX;i++){
// ptr++; 不能写在这里 写这里顺序,递增会出错
//储存地址
printf(“ Storage Address-Array[%d]=%#xp\n “,i,&ptr);
//储存值
printf(“Storage Value-Array[%d]=%d\n” ,i,*ptr);
//指向下一个位置
ptr++;
}
return 0;
}
输出显示>>>>>
```c
Storage Address-Array[0]=0x65fe08p
Storage Value-Array[0]=10
Storage Address-Array[1]=0x65fe08p
Storage Value-Array[1]=20
Storage Address-Array[2]=0x65fe08p
Storage Value-Array[2]=30
递减运算
即把值减去其数据类型的字节数 ```cinclude
include
include
const int MAX = 3; int main(int argc, char argv[]) { int Array[] = {10,20,30}; int ptr; int i; // 指针中最后一个元素的地址 & ptr=&Array[MAX-1];
for(i=MAX;i>0;i--){ //从最大值开始减 ,不能小于0 i--
//储存地址
printf(" Storage Address-Array[%d]=%#xp\n ",i-1,&ptr);
//储存值
printf("Storage Value-Array[%d]=%d\n" ,i-1,*ptr);
//指向下一个位置
ptr--;
}
return 0;
}
```
显示