您的位置:

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

一、多维数组概述

在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++中多维数组的定义和使用,包括二维数组、多维数组的定义、作为形参传递、以及多维数组的赋值和输出等操作。

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

2023-05-13
用C++定义二维数组

一、二维数组的定义 在C++中,二维数组是一种特殊的数据类型,是由一组有序的元素组成的矩阵。其定义方式为: type array_name [row_size][column_size]; 其中,ty

2023-12-08
基础c语言笔记,C语言笔记

2023-01-06
使用C++定义数组

数组(Array)是指一系列同类型的元素集合,可以通过标识符和下标访问其中的某个元素,使用数组可以方便地存储和处理大量数据。在C++中,我们可以使用多种方式来定义数组,下面将从多个方面对C++中的数组

2023-12-08
一篇c语言笔记,c语言入门笔记

2022-12-02
C++数组指针:定义和使用

2023-05-13
c语言笔记讲解,c语言程序笔记

2022-11-23
c语言数组二维数组正确,c语言二维数组详解

2022-11-27
c语言知识笔记,c语言最全笔记

2023-01-04
c到c语言笔记的简单介绍

2022-11-24
c到c语言笔记,cc在c语言

2022-11-27
C++二维数组定义方法

2023-05-13
c语言中如何表示多维数组,c语言多维数组

2022-11-30
c语言可以定义的最大的二维数组,c语言定义任意大小二维数组

2022-11-27
c#二维数组定义与赋值

2023-05-19
c语言定义实型数组,c语言 定义数组

2022-11-26
使用C++定义数组存储数据

一、数组的定义和创建 C++中的数组是一种常用的数据结构,可以用于存储一系列类型相同的数据。定义数组时需要指定数组的数据类型和元素个数,并可以使用循环语句对数组元素进行遍历和操作。 // 定义一个长度

2023-12-08
python学习之笔记(python的笔记)

2022-11-10
数据库的笔记mysql,数据库管理系统笔记

2022-11-24
包含python使用笔记24的词条

2022-11-21