C++中将数组的指针作为函数参数

一、一维数组

 //计算一维数组中的元素和

#include <iostream>

using std::cout;
using std::endl;

double getSum(double* arr,int n);

 

int main()
{
 double arr[] = {6.0,5.0,24.0,24.5,36.5,46.0,35.0,12.0,89.0,100.0};

 cout<<"Sum = "<<getSum(arr,(sizeof arr)/(sizeof arr[0]))<<endl;

 return 0;
}

double getSum(double* arr,int n)
{
 double sum = 0.0;
 for (int i=0;i<n;i++)
 {
      sum += *arr++;
 }
 return sum;
}

二、二维数组

//计算二维数组中的所有元素的和

#include <iostream>
using std::cout;
using std::endl;

double getSum(double* arr, int n);

 

int main()
{
 double arr[3][4] ={{19.0,31.0,33.0,14.0},
                             {57.0,63.0,78.0,81.0},
                             {59.0,90.0,111.0,125.0}} ;

//第一个参数可以为  *arr

//arr[0](数组第一行地址)

// &arr[0][0](数组第一行第一个元素的地址)

 cout<<"Sum = "<<getSum(&arr[0][0],sizeof arr/sizeof arr[0]); 

 return 0;
}

 

double getSum(double* arr, int n)
{
 double sum = 0.0;
 for (int i=0;i<n;i++)
 {
     for (int j=0;j<4;j++)
    {   

       //此处是取巧的做法,因为C++中不管是一维数组还是多维数组的存放都是顺序存放的 ,CLI/C++中不一样
        sum += *arr++;   
    }
 }
 return sum;
}

 

引用数组元素的方法一般可以是下面几种

//先定义数组

double arr[3][4];

double* parr; 

引用元素方式

1、arr[i][j]

2、*(*(arr+i)+j)

3、*(arr[i]+j)

4、(*(arr+i))[j]

 

 

转载于:https://www.cnblogs.com/anhuizhxd/archive/2009/07/04/shuzuzhizhen.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值