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/zh-hant/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

發表回復

登錄後才能評論