指针相减

#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,
3012450361245044,q-p=2
q
-p又得2?
指针相减就是得出两个指针之间差距的元素个数
INT型占四个字节,所以a[0]和a[2]之间相差的地址为8
posted @ 2011-03-31 14:23  oayx  阅读(505)  评论(0编辑  收藏  举报