两个指针相减,为两个指针之间间隔这两个指针类型的数目。
如:int *p,*q;
p-q=(p地址-q地址)/sizeof(int)
#include <stdio.h>int main()
{
int a[]={,,,,,,,,};
char *p,*q;
int *p2,*q2;
p=(char*)a;
q=(char*)&a[]; printf("p=%08X q=%08X a[%d]=%d\n",p,q,q-p,a[q-p]);
//结果为:x,x+8,8/sizeof(char),a[8]=9
p2=a;
q2=&a[]; printf("p2=%08X q2=%08X a[%d]=%d\n",p2,q2,q2-p2,a[q2-p2]);
//结果为:x,x+8,8/sizeof(int),a[2]=3
getchar();
return ;
}