求指针的地址差问题
#include <stdio.h>void main()
{
int array={1,2,3,4,5,6,7,8,9,0};
int *p1 =array;
int *p2 =&array;
int number = p2 -p1;
printf("number = %d\n",number);
}
这个不应该是28吗??为什么答案是7 为什么是28? 这就是规定
http://blog.csdn.net/a2806005024/article/details/36422987 p1 = a
p2 = a+7;
so
p2-p1 =7 这里应该是编译器默认除了sizeof(int) array+7是你数组第7个值的地址吗也就是array【7】的地址然后减去首地址不就是7
页:
[1]