指针运算
指针的基本运算
#include <stdio.h>
int main(void)
{
char a[]={
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,};
char *p = a;
printf("p=%p\n", p);
printf("p+1=%p\n", p+1);
int b[]={
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,};
int *q = b;
printf("q=%p\n", q);
printf("q+1=%p\n", q+1);
return 0;
}
结论:
给指针+1,不是在地址上+1,而是在地址是+了一个指针所指向的类型的长度(可理解为指针右移了一个单元)
验证结论