关于传递指针给函数的未解疑问
Posted stublogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于传递指针给函数的未解疑问相关的知识,希望对你有一定的参考价值。
之前在菜鸟教程复习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为什么变成了数组,而不是原先的指针?
以上是关于关于传递指针给函数的未解疑问的主要内容,如果未能解决你的问题,请参考以下文章