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

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


Mảng là tập dữ liệu đồng nhất lưu trong bộ nhớ liên tục. Đôi khi cần mảng 2 chiều hoặc đa chiều.

Mảng 2 chiều có thể biểu diễn theo 2 cách:

  • Row-major (hàng chính): liệt kê hàng 0 từ trái sang phải, rồi hàng 1, hàng 2... Hàm ánh xạ: (i * c + j)
  • Column-major (cột chính): liệt kê cột 0 từ trên xuống, rồi cột 1... Hàm ánh xạ: (i + j * r)

Với mảng r hàng, c cột, tổng phần tử n = r * c. Phần tử A[i,j] với 0 ≤ i < r, 0 ≤ j < c.

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

Ví dụ mã nguồn (C)

#include <stdio.h>

int main() {
    int a[5][2] = {{0,0}, {1,2}, {2,4}, {3,6}, {4,8}};
    int i, j;
    for (i = 0; i < 5; i++) {
        for (j = 0; j < 2; j++) {
            printf("a[%d][%d] = %d\n", i, j, a[i][j]);
        }
    }
    return 0;
}

Kết quả

a[0][0] = 0
a[0][1] = 0
a[1][0] = 1
a[1][1] = 2
a[2][0] = 2
a[2][1] = 4
a[3][0] = 3
a[3][1] = 6
a[4][0] = 4
a[4][1] = 8