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

Khởi tạo mảng đa chiều trong C

Mảng là tập hợp các phần tử cùng kiểu nằm liên tiếp trong bộ nhớ. Chỉ số mảng bắt đầu từ 0 đến size - 1. Kích thước mảng phải là số nguyên dương.

Mảng đa chiều (multi-dimensional array) thực chất là mảng của mảng. Dữ liệu lưu theo thứ tự hàng (row-major order).

Cú pháp

type array_name[size1][size2]...[sizeN];

Khởi tạo

type array_name[size1][size2]...[sizeN] = { 
    {elements_row0}, 
    {elements_row1}, 
    ..., 
    {elements_rowN-1} 
};

Ví dụ mảng 2 chiều

#include <stdio.h>

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

Kết quả

arr[0][0] = 5
arr[0][1] = 2
arr[0][2] = 3
arr[1][0] = 28
arr[1][1] = 8
arr[1][2] = 30

Giải thích: Mảng arr[2][3] có 2 hàng, 3 cột. Khởi tạo bằng danh sách lồng nhau. Duyệt bằng lồng vòng lặp for.

Mẹo: Khi khai báo mảng đa chiều, kích thước chiều đầu tiên có thể bỏ trống nếu khởi tạo ngay: int arr[][3] = {{1,2,3}, {4,5,6}};. Các chiều còn lại phải chỉ định rõ.