p[i] 正常的数组输出方式
p+i 相当于一维数组的数组名arr+i
p++ p是指针变量,可以进行++
i[p] 当编译器运行的时候,会自动将p[i]
一维数组指针表示法
p+1
p++
p-1 地址向减小的方向移动一个数据类型,p没有发生改变
p-- 地址向减小的方向移动一个数据类型,p发生了改变
p-q 计算p-q之间相差多少个元素,具体的计算方式(p-q/sizeof(数据类型))
char *s;s="abcde"; 指针指向字符串首地址
char *s;*s="abcde"; 超出字符串范围
char *s="abcde";s="fg"; 改变指针指向
char *s="abcde";*s="fg"; a的位置放不下fg
**pp 里面是a的值
*pp 里面是p的内容,也就是a的地址
**pp 里面是p指向的地址里面的内容,也就是a的值
int a=10
int *p=&a
int **p=&p
int const **pp 不能改变**pp,但可以改变pp
in **const pp 不能改变pp,但可以改变**pp.