对指针进行四种运算 ++ — + -
>指针的每一次递增,它其实会指向下一个元素的储存单元
>指针的每一次递减,它都会指向前一个元素的储存单元
>指针在递增和递减时跳跃的字节数取决于指针所指向变量数据类型长度,比如 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; }

  1. 输出显示>>>>>
  2. ```c
  3. Storage Address-Array[0]=0x65fe08p
  4. Storage Value-Array[0]=10
  5. Storage Address-Array[1]=0x65fe08p
  6. Storage Value-Array[1]=20
  7. Storage Address-Array[2]=0x65fe08p
  8. Storage Value-Array[2]=30

递减运算
即把值减去其数据类型的字节数 ```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[MAX-1];

  1. for(i=MAX;i>0;i--){ //从最大值开始减 ,不能小于0 i--
  2. //储存地址
  3. printf(" Storage Address-Array[%d]=%#xp\n ",i-1,&ptr);
  4. //储存值
  5. printf("Storage Value-Array[%d]=%d\n" ,i-1,*ptr);
  6. //指向下一个位置
  7. ptr--;
  8. }
  9. return 0;
  10. }

``` 显示
image.png