函数和数组
数组作为参数:int sum_arr(int arr[],int n);
1.arr是数组名,但arr实际上并不是数组,而是一个指针,指向数组的第一个元素。但是再编写函数的奇遇部分时,可以将arr看作是数组。
2.当且仅当用于函数头或函数原型中,int *arr和int arr[]的含义才是相同的。他们都意味着arr时一个int指针。然而,数组表示法提醒用户,arr不仅指向int,还指向int数组的第一个int。
#include <iostream>
#include <string>
using namespace std;
int sum_arr(const int arr[], int n);
int main()
{
const int size = 6;
int student1[size] = { 120,110,100,90,85,95 };
int totalScore = sum_arr(student1, size);
cout << "该名学生的总成绩为:" << totalScore << endl;
return 0;
}
//arr时一个指针,指向数组的第一个元素,const int类型,所以不能修改数组内的值。
//n是数组的大小
//在函数体内,可以将arr直接当做数组名用,*arr和arr[]的意义相同。
int sum_arr(const int arr[], int n)
{
int res = 0;
//arr[1] = 1; //出错
for (int i = 0; i < n; i++)
{
res += arr[i];
}
return res;
}
函数与数组
填充数组或修改数组:由于接受数组名参数的函数访问的是原始数组(使用指针访问),而不是其副本,因此可以通过调用该函数将值赋给数组元素,或是修改数组元素的值。
显示数组以及保护数组:为了确保显示函数不修改原始数组,可在声明形参时使用关键字const。
二维数组:int sum(int ar2[][4],int size);