zoukankan      html  css  js  c++  java
  • 传入一维数组到函数 Passing 1D array to function

    Since arrays are always passed by reference, all changes made to the array elements inside the function will be made to the original array. 

    int ProcessValues (int [], int ); // works with ANY 1-d array

    Example:

    #include <iostream>
    using namespace std;
    int SumValues (int [], int ); //function prototype
    
    void main( )
    {
      int Array[10]={0,1,2,3,4,5,6,7,8,9};
      int total_sum;
      total_sum = SumValues (Array, 10); //function call
      cout <<”Total sum is “ <<total_sum;
    }
    
    int SumValues (int values[], int num_of_values) //function header
    {
      int sum = 0;
      for( int i=0; i < num_of_values; i++)
        sum+=values[i];
      return sum;
    }

    The only way to protect the elements of the array from being inadvertently changed, is to declare an array to be a const parameter.

    #include <iostream>
    using namespace std;
    int SumValues (const int [], int); //function prototype
    
    int main( )
    {
      const int length =10;
      int Array[10]={0,1,2,3,4,5,6,7,8,9};
      int total_sum;
      total_sum = SumValues (Array, length); //function call
      cout <<”Total sum is “ <<total_sum;
      return 0;
    }
    
    int SumValues (const int values[], int num_of_values) //function header
    {
      int sum = 0;
      for( int i=0; i < num_of_values; i++)
        sum+=values[i];
      return sum;
    }

    Reference:

    http://stackoverflow.com/questions/23035407/passing-1d-and-2d-arrays-by-reference-in-c

    http://doursat.free.fr/docs/CS135_S06/CS135_S06_8_1D_Arrays2.pdf

  • 相关阅读:
    10月23日总结
    10月22日总结
    10月21日总结
    使用Sklearn进行股票异常分析
    10月20日总结
    10月19日总结
    10月18日总结
    CF482E ELCA
    ERROR: Error installing mysql2: ERROR: Failed to build gem native extension [@Ubuntu 15.04]
    在Deepin 20.2系统中换源并全新图解安装MySQL数据库
  • 原文地址:https://www.cnblogs.com/learnopencad/p/4314724.html
Copyright © 2011-2022 走看看