数组做函数的参数

1 一维数组做参数

数组作为函数的参数,是指以数组名作为实际参数传递给函数。用数组名做函数参数时,不是进行直接的值传递,而是地址的传送,也就是把实参数组的首地址赋予形参数组名。
比如,下面声明了一个数组为函数的参数
int func(int a[10]);
用数组作函数参数,数组的参数是没有意义的。上边的函数声明同以下的声明是等效的:
int func(int a[])
int func(int a[100])
所以在函数定义的时候,不能依赖于数组参数中数组的长度。实际上,编译器会自动将数组参数当做指针进行解释,这个指针指向一块连续的内存。而且这个指针不会保存长度信息,所以函数声明时数组的长度是没有意义的。为此,可以在参数列表中附加一个参数,用以传递数组的长度:
int func(int a[],int n)

2 多维数组做参数

函数在传递二位数组参数时,需明确最后一维的大小,否则将出现编译错误。下面函数average()用于接收用户输入的若干位同学的3门成绩,计算每一门成绩的平均成绩并输出。

#include<iostream>
using namespace std;
void average(float array[][3], int n, int m)
{
    float  sum = 0, gra[3];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cin >> array[i][j];
            sum += array[i][j];
        }
        gra[i] = sum / n;
        sum = 0;
    }
    cout << "三门课的平均成绩:" << endl;
    for (int k = 0; k < n; k++)
        cout << gra[k] << endl;
}
int main()
{
    float array[3][3];
    cout << "输入三位同学的3门成绩:" << endl;
     average(array, 3, 3);
    system("pause");
    return 0;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值