1. Mảng một chiều

1.1. Định nghĩa mảng - array

Mảng được sử dụng để lưu trữ nhiều giá trị trong một biến duy nhất, thay vì khai báo các biến riêng biệt cho từng giá trị.

int myNumbers[] = {1, 5, 7, 10}; 

1.2. Truy cập các phần tử của mảng

Để truy cập một phần tử mảng, hãy sử dụng chỉ mục (index) của nó. Chỉ số mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.

printf("%d", myNumbers[0]); //in ra phần tử đầu tiên của mảng

1.3. Thay đổi một phần tử mảng

Dùng chỉ mục của mảng để thay đổi giá trị của một phần tử cụ thể, lệnh sau sẽ thay đổi giá trị của phần tử 0: myNumbers[0] = 33;

1.4. Lặp qua một mảng

Sử dụng vòng lặp for để lặp qua các phần tử mảng:
for (i = 0; i < 4; i++) {
   printf("%d\n", myNumbers[i]);
}

1.5. Khởi tạo mảng

Một cách khác để khởi tạo mảng: int arr[5] = {3, 2, 6, 8, 2, 0}

==> Ko cần xác định kích thước

2. Mảng 2 chiều

  • Mảng nhiều chiều về cơ bản là một mảng của các mảng.
  • Mảng có thể có số lượng kích thước bất kỳ. 
  • Mảng 2 chiều còn được gọi là ma trận (bảng gồm các hàng và cột).

2.1. Tạo mảng

int matrix[2][3] = { {0, 1, 2}, {3, 9, 1} };

  • Chiều thứ nhất là số lượng hàng [2], chiều thứ hai là số lượng cột [3]. 
  • Các giá trị được đặt theo thứ tự hàng và có thể được hiển thị như sau: 

2.2. Truy cập các phần tử

Để truy cập một phần tử của mảng hai chiều, bạn phải chỉ định số chỉ mục của cả hàng và cột.

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
printf("%d", matrix[0][2]); // in ra phần tử ở hàng đầu tiên (0) và cột thứ 3 (2)

2.3. Thay đổi giá trị của phần tử mảng

Để thay đổi giá trị của một phần tử, hãy tham khảo số chỉ mục của phần tử trong mỗi thứ nguyên:

 int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
 matrix[0][0] = 9; //thay đổi giá trị của phần tử ở hàng đầu tiên (0) và cột đầu tiên (0)
 printf("%d", matrix[0][0]); // Bây giờ xuất ra 9 thay vì 1

2.4. Lặp qua một mảng

Để lặp qua một mảng nhiều chiều, cần một vòng lặp cho mỗi chiều của mảng.

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

Nguồn: w3school