解释指针在以下turbo C代码中的使用方式和原因

时间:2013-03-03 09:36:14

标签: c pointers turbo-c

int a[10],sum,*p;
sum=0;
for(p=&a[0];p<&a[10];p++)
    sum += *p;
printf("%d",sum)

嗨,我是turbo c的新手,尤其是指针。有人可以向我解释指针在这个程序中是如何使用的。提前谢谢。

我知道程序是如何工作的,但是我无法理解的是为什么程序使用指针和'&amp;'标志。感谢。

1 个答案:

答案 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]