Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
int a[10],sum,*p; sum=0; for(p=&a[0];p<&a[10];p++) sum += *p; printf("%d",sum)
嗨,我是 turbo c 的新手,尤其是在指针方面。有人可以向我解释一下指针是如何在这个程序中使用的。先感谢您。
我知道程序是如何工作的,但我不明白为什么程序使用指针和“&”符号。谢谢。
这是 C 中指针的说明性示例,但是也可以在不使用指针的情况下编写此代码。这里
p=&a[0]
^ 存储数组第一个值的内存地址a。并且 For 循环将执行,直到指针存储最后一个数组值的内存地址,即a[10]。
a
a[10]
sum += *p;
上面语句中的 ^*p代表指针指向的内存地址的值p。例如p,当前指向a[0]. 然后 的值a[0]将被添加到sum。在 For 循环的下一次迭代中, 的值p增加,它将指向a[1]。
*p
p
a[0]
sum
a[1]