关于传递指针给函数的未解疑问

之前在菜鸟教程复习C++,着重看了一下比较难的指针,其中传递指针给函数这一部分有一些疑惑未解,希望看到的人可以帮忙给个解答。

程序代码如下

#include <iostream>
using namespace std; // 函数声明 double getAverage(int *arr, int size); int main () { int balance[5] = {1000, 2, 3, 17, 50}; // 带有 5 个元素的整型数组 double avg; avg = getAverage( balance, 5 ) ; // 传递一个指向数组的指针作为参数 cout << "Average value is: " << avg << endl; // 输出返回值 return 0; } double getAverage(int *arr, int size) //再次运用函数,使得sum得以累加 { int i, sum = 0; double avg; for (i = 0; i < size; ++i) { sum += arr[i]; } avg = double(sum) / size; //求平均 return avg; }

代码中将balance传入函数,此时balance为数组,传入函数的形参中声明arr是一个指针,指向balance数组的第一个元素
但函数中给sum赋值时,直接采用sum+=arr[i]来进行赋值,这里的arr为什么变成了数组,而不是原先的指针?


猜你喜欢

转载自www.cnblogs.com/stuBlogs/p/12099659.html