在函数中 传递数组

转自

http://media.openonline.com.cn/media_file/200708/fushi/0803/C++yuyancxsj/web/lesson/chapter8/j4.htm

 

 

传递给自定义函数

  若要让一个函数求数组元素的和,需传递一个数组参数和数组大小参数。因为从传递 的数组参数(地址)中,没有数组大小的信息。
例如,下面的程序调用一个函数求数组元素之和:
    //*********************
    //**   ch7_5.cpp  **
    //*********************

    #include <iostream.h>

    int sum(int [], int);

    void main()
    {
     static int ia[5]={2,3,6,8,10};
     int sumOfArray;
     sumOfArray=sum(ia, 5);
     cout <<"sum of array: " <<sumOfArray <<endl;
    }

    int sum(int array[], int len)
    {
     int iSum=0;
     for(int i=0; i<len; i++)
      iSum+=array[i];
     return iSum;
    }

  运行结果为:
    slim of array:29

  sum()函数以整数数组作为第一个参数, 以整数作为第二个参数。由于传递数组实际上传递的是地址,所以函数原型中,数组参数的书写形式无须在方括号中写明数组大小。如果写明了数组大小,编译器将忽略之。数组形参的空方括号只是告诉函数,该参数是个数组的起始地址。由于数组参数是地址,对数组参数不能通过sizeof求得数组大小, 所以sum()函数必须要第二个参数:数组的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值