【发布时间】:2020-01-01 21:49:21
【问题描述】:
所以,我被告知... “编写一个函数 Adder(),它接收指向整数数组的指针作为输入,并使用它 返回数组元素总和的指针。” 我非常成功。我的代码是
#include <bits/stdc++.h>
using namespace std;
int Adder (int *ptr)
{
int sum=0;
for (int i=0; i<5; i++)
{
sum=*(ptr+i)+sum;
}
return sum;
}
int main(){
int array[5]={1,1,1,1,1};
int sum;
int *ptr=array;
Adder(ptr);
sum=Adder(ptr);
cout<<sum;
}
我不明白的是我在哪里
Adder(ptr)
然后
int Adder (int *ptr)
"ptr" 保存地址,对吗?而“*ptr”保存实际值。我无法理解这是如何工作的。谁能解释一下?
【问题讨论】:
-
ptr保存地址,而*ptr是指针指向的值。*称为解引用运算符。它取消引用指针以获取它指向的值 -
你的问题不清楚。你问的是什么
标签: c++ arrays pointers pass-by-reference