两个同类型指针相减的结构不是以字节为单位的,而是以指针指向的数据类型大小为单位的。
在数组内,两个指针的相减,得出的是中间相隔的元素的个数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int *p1 = &a;
int *p2 = &b;
int *p3 = &c;
int *p4 = &d;
printf("%u\n",p1);
printf("%u\n",p2);
printf("%u\n",p3);
printf("%u\n",p4);
printf("%d\n",p3 - p4);
printf("%d\n",p1 - p3);
return 0;
}