zoukankan      html  css  js  c++  java
  • 关于传递指针给函数的未解疑问

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


  • 相关阅读:
    ACM Red and Black
    ACM Wooden Stricks
    ACM Strange fuction
    ACM pie
    ACM Doing Homework again
    ACM FatMouse' Trade
    ACM 今年暑假不AC
    ACM Ignatius and the Princess II
    一、数组---第三大的数
    一、数组---移动零※※※※※※
  • 原文地址:https://www.cnblogs.com/stuBlogs/p/12099659.html
Copyright © 2011-2022 走看看