C语言的指针可以相减的,但是不能相加。
#include<stdio.h>
int main()
{
char arr[] = "abcdefg";
char *p1 = arr;
char *p2 = arr;
p2 += 6;
printf("%d\n", p2 - p1);
while (1);
}
运行结果为6,由此可以得出结论,在同一块内存空间中,指针相减等于其两个指针相差的元素个数。
C语言的指针可以相减的,但是不能相加。
#include<stdio.h>
int main()
{
char arr[] = "abcdefg";
char *p1 = arr;
char *p2 = arr;
p2 += 6;
printf("%d\n", p2 - p1);
while (1);
}
运行结果为6,由此可以得出结论,在同一块内存空间中,指针相减等于其两个指针相差的元素个数。