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]
。
sum += *p;
*p
中的^代表指针p
指向的内存地址的值。例如,p
当前指向 a[0]
。然后a[0]
的值将被添加到sum
中。
在 For 循环的下一次迭代中,p
的值增加,并将指向 a[1]
。
关于c - 解释以下 Turbo C 代码中如何以及为何使用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184347/