#include<stdio.h>
int main(int argc, char* argv[ ])
{
int data[4] = {1,2,3,4};
int *iptr1 = &data[0];
int *iptr2 = &data[1];
int val;
val = iptr2 - iptr1;
printf("Distrance is%d\n", val);
return 0;
}
当两个指针变量分别指向数组连续内存地址的不同变量,让它们想减可以得到两个指针变量间存在的元素个数;
上面 int *iptr1 指向第一个元素, int *iptr2 指向第二个元素,两个变量想减结果为 1,因为两个连续位置之间只存在一个元素。