指针相减
#include <stdio.h>
void main()
{
int a[5]={10,20,30,40,50};
int *p,*q;
p=&a[0];
q=&a[2];
printf("%d,%d,%d,%d,q-p=%d\n",*p,*q,p,q,q-p);
}
得出结果是10,30,1245036,1245044,q-p=2
q-p又得2?
void main()
{
int a[5]={10,20,30,40,50};
int *p,*q;
p=&a[0];
q=&a[2];
printf("%d,%d,%d,%d,q-p=%d\n",*p,*q,p,q,q-p);
}
得出结果是10,30,1245036,1245044,q-p=2
q-p又得2?
指针相减就是得出两个指针之间差距的元素个数 INT型占四个字节,所以a[0]和a[2]之间相差的地址为8