📜  在C++编程中将数组传递给函数

📅  最后修改于: 2020-09-25 05:05:13             🧑  作者: Mango

在本教程中,我们将借助示例学习如何将一维和多维数组作为C++中的函数参数传递。

在C++中,我们可以将数组作为参数传递给函数。并且,我们还可以从函数返回数组。

在学习将数组作为函数参数传递之前,请确保您了解C++数组和C++函数。

将数组作为函数参数传递的语法

将数组传递给函数的语法为:

returnType functionName(dataType arrayName[arraySize]) {
    // code
}

让我们来看一个例子

int total(int marks[5]) {
    // code
}

在这里,我们将名为marksint类型数组传递给函数 total() 。数组的大小为5

示例1:将一维数组传递给函数

// C++ Program to display marks of 5 students

#include 
using namespace std;

// declare function to display marks
// take a 1d array as parameter
void display(int m[5]) {
    cout << "Displaying marks: " << endl;

    // display array elements    
    for (int i = 0; i < 5; ++i) {
        cout << "Student " << i + 1 << ": " << m[i] << endl;
    }
}

int main() {

    // declare and initialize an array
    int marks[5] = {88, 76, 90, 61, 69};
    
    // call display function
    // pass array as argument
    display(marks);

    return 0;
}

输出

Displaying marks: 
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69

这里,

将多维数组传递给函数

我们还可以将多维数组作为参数传递给该函数。例如,

示例2:将多维数组传递给函数

// C++ Program to display the elements of two
// dimensional array by passing it to a function

#include 
using namespace std;

// define a function 
// pass a 2d array as a parameter
void display(int n[][2]) {
    cout << "Displaying Values: " << endl;
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
            cout << "num[" << i << "][" << j << "]: " << n[i][j] << endl;
        }
    }
}

int main() {

    // initialize 2d array
    int num[3][2] = {
        {3, 4},
        {9, 5},
        {7, 1}
    };

    // call the function
    // pass a 2d array as an argument
    display(num);

    return 0;
}

输出

Displaying Values: 
num[0][0]: 3
num[0][1]: 4
num[1][0]: 9
num[1][1]: 5
num[2][0]: 7
num[2][1]: 1

在上面的程序中,我们定义了一个名为display()的函数 。该函数采用二维数组int n[][2]作为其参数,并打印该数组的元素。

在调用函数,我们仅将二维数组的名称作为函数参数display(num)传递。

注意 :不必指定数组中的行数。但是,应始终指定列数。这就是为什么我们使用int n[][2]

我们还可以将二维以上的数组作为函数参数传递。

C++从函数返回数组

我们还可以从该函数返回一个数组。但是,不返回实际的数组。而是使用指针返回数组的第一个元素的地址。

在接下来的教程中,我们将学习从函数返回数组的知识。