请问:两个指针变量可以相减,如两个指针变量指向同一个数组的元素,
问题描述:
请问:两个指针变量可以相减,如两个指针变量指向同一个数组的元素,
则 p2-p1=4-1=3
同一个元素,那不应该是p2-p1=0吗?怎么p2=4,p1=1不解.
答
两个指针变量指向同一个数组的元素,则该变量的值相等.
如:
int *p1;int *p2;
p1=&a[i];
p2=&a[i];
则
p1-p2=0
如果对p1赋值为1;对p2赋值为4;即p1=1;p2=4;
则p2-p1=4-1=3p1=&a[i];p2=&a[i];这里就是说是两个指针所指向的地址都相同,都指向同一个数组的地址吗?可不可以是同一个数组的不同地址?两个指针所指向的地址相同,都指向同一个数组的地址。int a[12];int b[12];int *p;int *q;p=a;q=b;p和q分别指向不同的数组,获得不同的数组首地址。