指针的移位跟指向对象的数据类型有关
//例
int a = 10; //定义一个int类型的变量a,并且赋值10;
int *p; //定义一个指针变量p,可以指向int类型的变量
char *q; //定义一个指针变量q,可以指向char类型的变量
p = &a; //p指向了a == 将a的地址赋值给了p
q = p; //q也存了a的地址编号
printf("p = %d\n",p); //2017
printf("q = %d\n",q); //2017
p = p+1;
q = q+1;
printf("p = %d\n",p); //2021
printf("q = %d\n",q); //2018
所以
int *p 指针跳动一步,指针变量里存储的 地址编号就偏移 4
char *p 指针跳动一步,指针变量里存储的 地址编号就偏移 1
short *p 指针跳动一步,指针变量里存储的 地址编号就偏移 2