![](https://i-blog.csdnimg.cn/blog_migrate/70e33a6925eb1129c664eed40e0501a3.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/226ab6baf2ee6cb557e506cb4c97dd0b.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/0428e4e39051fa70ac02b139f244aa02.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/4cfd6335cbbf612ab61219b0b3fcdb21.jpeg)
#include <stdio.h>
int main (int argc,char *argv[])
{
int a[5]={0,1,2,3,4,};
int*p;
p=a;
printf("%d\n",a[2]);
printf("%d\n",p[2]);
printf("%d\n",*p+2);//此处用*p++时,打印出'0’。因为,此时为int 型函数,*p++在C中默认加4个字节。
int b[5]={1,2,3,4,5,};
int*q;
q=&b[1];//对于Q来说,相当于一个从b[1]开始的数组
printf("%d\n",b[1]);
printf("%d\n",q[0]);//此处q0相当于b1;
printf("%d\n",b[2]);
printf("%d\n",q[1]);
printf("%d\n",*q+1);
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/b09caec2d2c19729aaba7672b409565b.jpeg)
#include <stdio.h>
int main (int argc,char *argv[])
{
int *p,*q;
int a[10];
p=&a[0];
q=&a[3];
printf("%d\n",p-q);
return 0;
}