Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Mảng đa chiều (Multidimensional Arrays) trong C/C++


Trong C/C++, mảng đa chiều đơn giản là mảng của mảng. Dữ liệu lưu dạng bảng (theo thứ tự hàng chính - row major). Sơ đồ sau minh họa cấp phát bộ nhớ mảng đa chiều kích thước 3x3x3.

Mảng đa chiều (Multidimensional Arrays) trong C/C++

Thuật toán

Bắt đầu
    Khai báo kích thước mảng
    Cấp phát động mảng 2D a[][] dùng new
    Điền phần tử vào mảng
    In mảng
    Giải phóng bộ nhớ bằng delete
Kết thúc

Ví dụ mã

#include <iostream>
using namespace std;

int main() {
    int B = 4;
    int A = 5;
    int** a = new int*[B];
    for(int i = 0; i < B; ++i)
        a[i] = new int[A];
    for(int i = 0; i < B; ++i)
        for(int j = 0; j < A; ++j)
            a[i][j] = i;
    for(int i = 0; i < B; ++i)
        for(int j = 0; j < A; ++j)
            cout << a[i][j] << "\n";
    for(int i = 0; i < A; ++i)
        delete[] a[i];
    delete[] a;
    return 0;
}

Kết quả

0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3