指针相减
#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);
}
得出結(jié)果是10,30,1245036,1245044,q-p=2
q-p又得2?指針相減就是得出兩個(gè)指針之間差距的元素個(gè)數(shù) INT型占四個(gè)字節(jié),所以a[0]和a[2]之間相差的地址為8
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);
}
得出結(jié)果是10,30,1245036,1245044,q-p=2
q-p又得2?指針相減就是得出兩個(gè)指針之間差距的元素個(gè)數(shù) INT型占四個(gè)字節(jié),所以a[0]和a[2]之間相差的地址為8
轉(zhuǎn)載于:https://www.cnblogs.com/lancidie/archive/2011/03/31/2000988.html
總結(jié)
- 上一篇: 解决C++代码单元测试中的难题-不可验证
- 下一篇: 今天你微博了吗?