如果两个指针指向同一个数组,它们就可以相减,其结果为两个指针之间的元素数目。
int array[2]={0,1};
int *p =&array[0];
int *q =&array[1];
q-p=1//等于1 而不是等于4
p++是值加上了4个值;
(int)p-(int)q=4//看好了 是int 不是int*
上面这种减法一般这么写((int)p-(int)q)/sizeof(type)
如果两个指针指向同一个数组,它们就可以相减,其结果为两个指针之间的元素数目。
int array[2]={0,1};
int *p =&array[0];
int *q =&array[1];
q-p=1//等于1 而不是等于4
p++是值加上了4个值;
(int)p-(int)q=4//看好了 是int 不是int*
上面这种减法一般这么写((int)p-(int)q)/sizeof(type)
转载于:https://www.cnblogs.com/processakai/archive/2012/08/15/2639464.html