Code前端首页关于Code前端联系我们

C++多维数组的定义和使用

terry 2年前 (2023-10-01) 阅读数 147 #c++
文章标签 Linux

一、多维数组概述

在C++中,多维数组是由多个一维数组组合而成的数组。简单来说,多维数组就是一个表格,每个元素都有“行”和“列”两个维度。

多维数组的定义格式为:数据类型 数组名[维度1长度][维度2长度]...[维度n长度];


int arr[3][4]; // 定义一个3行4列的二维数组
int arr2[2][3][4]; // 定义一个2页3行4列的三维数组

二、二维数组的定义和使用

二维数组是最常见的多维数组,它是由若干个一维数组组合而成的,每一个一维数组又具有相同的长度,它在内存中的存储方式是按照行优先的方式存储的。

在C++中定义一个二维数组,我们需要用到两对方括号来表示它的行和列。

二维数组的定义格式为:数据类型 数组名[行数][列数];


#include <iostream>
using namespace std;

int main() {
    int a[3][4]; // 定义一个3行4列的二维数组

    // 通过循环赋值
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            a[i][j] = (i + 1) * (j + 1);
        }
    }

    // 输出数组
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << a[i][j] << "\t";
        }
        cout << endl;
    }

    return 0;
}

上面的代码中,我们定义了一个3行4列的二维数组,然后通过循环来给数组中的每个元素赋值。最后再通过循环输出数组。

三、二维数组作为形参传递

在C++中,二维数组可以作为函数的参数进行传递。如果要将二维数组作为形参传递,需要显式声明每个维度的长度。在函数内部,可以通过二维数组名和下标来操作数组元素。


#include <iostream>
using namespace std;

void printArr(int a[][4], int row) { // 二维数组作为形参传递
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < 4; j++) {
            cout << a[i][j] << "\t";
        }
        cout << endl;
    }
}

int main() {
    int a[3][4]; // 定义一个3行4列的二维数组

    // 通过循环赋值
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            a[i][j] = (i + 1) * (j + 1);
        }
    }

    // 作为参数传递
    printArr(a, 3);

    return 0;
}

上面的代码中,我们定义了一个3行4列的二维数组,然后通过循环来给数组中的每个元素赋值。在主函数中,我们调用了一个名为printArr的函数,并将数组a和行数3作为参数传递给这个函数。printArr中也是通过循环输出二维数组。

四、多维数组的定义和使用

在C++中,除了二维数组,还有更高维度的多维数组。它们的定义和使用原则与二维数组基本相同。

对于一个多维数组,我们需要指定它的每一个维度的长度,如:int a[2][3][4],其中,a是一个三维数组,第一维长度为2,第二维长度为3,第三维长度为4。

下面是一个三维数组的示例代码:


int b[2][3][4];

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 4; k++) {
            b[i][j][k] = i + j + k;
        }
    }
}

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 4; k++) {
            cout << b[i][j][k] << "\t";
        }
        cout << endl;
    }
    cout << endl;
}

上面的代码中,我们定义了一个3维数组b,它的第一维长度为2,第二维长度为3,第三维长度为4。然后通过循环给b中的每个元素赋值,最后再通过循环输出b中的每个元素。

五、总结

本文介绍了C++中多维数组的定义和使用,包括二维数组、多维数组的定义、作为形参传递、以及多维数组的赋值和输出等操作。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门