指针的p+1运算理论上有三种
1,加一个数组,error,无意义
2,加一个字节 ,error,但是很重要,重点探讨
3,加一个单元格,right
上图为我们对于指针p+1加一个字节的过程具体如下:
定义一个整形数组为1,2,3,字节数为4,定义一个指针保存arr首元算的地址,令*p=10,然后指针p+1,假设红色的100,101,102,103,104,105,108为每个数组元素的地址,放大4倍,10的十六进制是0000000a,低地址存放小数据,所以蓝框(即地址100~103中)中存放的为0a,00,00,00。2的十六进制为00000002,所以在黄框中为02,00,00,00.当我们认为加一个字节的时候,arr[0]向右移一个单元格,然后将*p赋值为20,20的十六进制为00000014,低地址存放小数据,所以红框(即101~104中)中存放的为14,00,00,00.所以arr[0]中的值的十六进制为0000140a,所以arr[0]的值为5130。黄框中为00,00,00,00.所以arr[1]的值为0.