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

  • 相关阅读:
    魔法跳舞链 51Nod
    反射
    JDBC---后端服务器与数据库交互的桥梁
    多线程
    IO流
    继承与重写
    java.util包
    多态
    Java.lang包
    异常
  • 原文地址:https://www.cnblogs.com/learnopencad/p/4314724.html
Copyright © 2011-2022 走看看