1. 有意义的操作
①、指针跟整数进行+、-操作(每次移动N个步长)

注意事项:在进行指针+、-操作时,需要注意运算优先级,即我们要在指针完成移动之后,再进行解引用。比如:
printf(“%d\n”,*(p1 + 1));
②、指针跟指针进行-操作,可以算出两个指针的间隔步长。

注意事项:这里计算出的结果是16进制表示的,需要转成10进制进行验证。
p2 – p1为20字节的原因:
在上面p1指针记录的是数组0索引的地址值:

p2指针记录的是数组5索引的地址值:

两个指针所记录的地址值,在数组arr中相差5个步长,由于arr是int类型,所以最后的间隔步长结果就为,5(0和5在索引中的间距,即5-0) * 4(int类型的字节大小)= 20(间隔步长)
2. 无意义的操作
①、指针跟整数进行乘除操作会导致指针的指向不明。
②、指针和指针进行加、乘、除操作,同样也会导致指向不明。
这就好比你家的狗明明只走3公里路能到家,但实际你的狗走了3公里以上的路程,导致你的狗走过了自己的家,然后迷路了……
