码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-12-26 00:10:52      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:namespace   ++   return   lan   疑惑   第一个   ble   style   ted   

之前在菜鸟教程复习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为什么变成了数组,而不是原先的指针?


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

标签:namespace   ++   return   lan   疑惑   第一个   ble   style   ted   

原文地址:https://www.cnblogs.com/stuBlogs/p/12099659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!