数组指针指向问题! 求解惑!
main(){
int * p,i,a[10];
p = a;
for(i = 0;i < 10;i++)
scanf(" %d",p++);
printf("\n");
for(i = 0;i < 10;i++) // for(i = 0;i < 10;i++,p++)这是原来的。如果这样 p 指向的是啊a[10]。而a[10]值及a[10]后面是不确定的,是垃圾值。
printf(" %d",* p); //现在把 p++ 去掉了,无论输入那十个数字,* p 输出的都是0 1 2 3 4 5 6 7 8 9. 好像 p 指向了 i .
// 我在这行加了 printf(" %d",a[i]); 上面 scanf() 输入的数字 a[0] 到 a[9] 又都在没有被替代掉。会原样输出。
/*
我的疑问是 : 指针 p 被赋了 a 数组的地址。并没有和 i 有什么联系,把 for(i = 0;i < 10;i++,p++)语句中的 p++ 取掉后,p 指向的地
址没有移动了。那么 p 指针指向的地址应该是一个固定的位置了。那么 * p 还把 0 1 2 3 4 5 6 7 8 9.输出了。我想应该就是 i 的值。那么指针变
量 p 和变量 i 是什么关系呢。它们是怎么联系在一起的? 请高人指教!!!
*/
}