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

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/284646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-22 15:41
下一篇 2024-12-22 15:41

相关推荐

  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python定义函数判断奇偶数

    本文将从多个方面详细阐述Python定义函数判断奇偶数的方法,并提供完整的代码示例。 一、初步了解Python函数 在介绍Python如何定义函数判断奇偶数之前,我们先来了解一下P…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python中的队列定义

    本篇文章旨在深入阐述Python中队列的定义及其应用,包括队列的定义、队列的类型、队列的操作以及队列的应用。同时,我们也会为您提供Python代码示例。 一、队列的定义 队列是一种…

    编程 2025-04-29
  • Python符号定义和使用方法

    本文将从多个方面介绍Python符号的定义和使用方法,涉及注释、变量、运算符、条件语句和循环等多个方面。 一、注释 1、单行注释 # 这是一条单行注释 2、多行注释 “”” 这是一…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python编程技巧:如何定义一个函数n!,并计算5!

    在这篇文章中,我们将研究如何使用Python编程语言定义一个能够计算阶乘的函数,并且演示如何使用该函数计算5!。 一、阶乘函数的定义 在Python中,我们可以使用一个简单的递归函…

    编程 2025-04-29
  • Python定义两个列表的多面探索

    Python是一种强大的编程语言,开放源代码,易于学习和使用。通过Python语言,我们可以定义各种数据类型,如列表(list)。在Python中,列表(list)在处理数据方面起…

    编程 2025-04-29

发表回复

登录后才能评论