int a[10],sum,*p;
sum=0;
for(p=&a[0];p<&a[10];p++)
sum += *p;
printf("%d",sum)
嗨,我是turbo c的新手,尤其是指针。有人可以向我解释指针在这个程序中是如何使用的。提前谢谢。
我知道程序是如何工作的,但是我无法理解的是为什么程序使用指针和'&amp;'标志。感谢。
答案 0 :(得分:1)
这是C中指针的一个说明性示例,但是这段代码也可以在不使用指针的情况下编写。 这里
p=&a[0]
^存储数组a
的第一个值的内存地址。
并且For循环将执行,直到指针存储最后一个Array值的内存地址,即a[10]
。
sum += *p;
^ *p
代表指针p
指向的内存地址的值。例如,p
目前指向a[0]
。然后,a[0]
的值将添加到sum
。
在For循环的下一次迭代中,p
的值增加,它将指向a[1]
。