之前在学习指针时,我们知道指针其实也是一种变量,既然这样,那么指针应该和普通变量一样,可以进行算术运算。下面我们介绍指针的加减运算。
先看一个实例:
#include <stdio.h>
int main()
{
int arr[10] = {1,2,3,4};
int *p = arr;
*p = 10;
printf("%d\n",*p);
p++;
*p = 20;
printf("%d\n",*p);
return 0;
}
关于上述实例中的p++,可能会有以下三种情况:
1.加一个数组;
2.加一个字节;
3.加一个指针。
在上述例子中,我们定义了一个整形数组arr,p指向数组首地址。假设其首地址为1000,则整个数组对应的地址如下:
图1 数组arr对应地址