在编程的过程中,遇到了一个问题,那就是指针++和指针+1是否一样?
例如:
int *p = &a;
那么,++p == p+1 ?
写段代码测试以下:
int a=10;
int *p=&a;
printf("int* p:%dn",p);
printf("int* p+1:%dn",p+1);
printf("int* p+2:%dn",p+2);
p++;
printf("int* p++:%dn",p);
char ch ='a';
char *q=&ch;
printf("char* q:%dn",q);
printf("char* q+1:%dn",q+1);
printf("char* q+2:%dn",q+2);
q++;
printf("char* q++:%dn",q);
输出:
int* p:6422292
int* p+1:6422296
int* p+2:6422300
int* p++:6422296
char* q:6422291
char* q+1:6422292
char* q+2:6422293
char* q++:6422292
从输出来看,++p == p+1



