指针值加1就是将指针值加上sizeof(指针所指变量的类型)
1+1=2,那么指针加1是加上了1这个数字吗?试一下,在代码中定义了char数组,char也是整数,数组名是ac,ac中有10个元素,0-9,然后做了一个char *p=ac,定义了*p的一个指针,p指向了ac数组的第一个单元。然后分别输出p和p+1的值,结果是差了1:
1 #include <stdio.h> 2 3 int main(void){ 4 char ac[] = {0,1,2,3,4,5,6,7,8,9}; 5 char *p = ac; 6 printf("p =%p\n",p); //输出p的值 7 printf("p+1=%p\n",p+1); 8 9 return 0; 10 }