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

您好我是turbo c的新手,特别是指针。有人可以向我解释这个程序中指针的用法。先谢谢你。解释指针如何以及为什么在以下turbo C代码中使用

我知道程序是如何工作的,但我不明白的是为什么程序使用了指针和'&'符号。谢谢。

+1

你应该参考一个基本教程。 – 2013-03-03 09:37:01

+0

从这个定义开始 - *指针是一个变量,它保存内存中另一个变量的地址*。 – Lion 2013-03-03 09:39:33

+1

如果你有选择,避免涡轮C像鼠疫。这是古老的。 – 2013-03-03 11:35:17

回答

1

这是C中指针的说明性示例,但是此代码也可以在不使用指针的情况下编写。 这里

p=&a[0]

^存储阵列a的第一个值的存储器地址。 然后执行For循环直到指针存储最后一个Array值的存储器地址,即a[10]

sum += *p;

^在上面的语句*p代表的存储器地址,其指针p指向的值。例如p目前指向a[0]。然后a[0]的值将被添加到sum。 在For循环的下一次迭代中,p的值增加,它将指向a[1]

相关问题