一、一维数组
//计算一维数组中的元素和
#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]