Trang chủ » Bài 11 – Mảng (Phần 1)
Lập trình C/C++

Bài 11 – Mảng (Phần 1)

cplusplus

Xin chào mọi người!

Ngày trước mình còn nhớ khi mới vào học lập trình, thầy có giao cho mình 1 bài tập “Nhập vào n số và tính tổng n số đó”. Lúc ấy mình cũng chả biết “n số” mà thầy giao là cái quái gì nữa, nên mình viết chương trình và khai báo 1 lượt … 18 biến (tất nhiên là ông thầy cho mình đi tàu bay miễn phí rồi, hic). Lúc ấy mình có biết mảng là gì đâu?

Trở lại vấn đề, mảng là 1 khái niệm quan trọng trong lập trình. Bất kỳ ngôn ngữ nào cũng đều có khái niệm mảng, Và hôm nay mình xin trình bày về Mảng trong C++

1. Khái niệm

Mảng là 1 dãy các phần tử cùng kiểu. Các kiểu có thể là những kiểu định nghĩa sẵn như int, long,… cũng có thể là những kiểu ta định nghĩa (struct, class – mình sẽ nói ở bài sau :D) và kiểu con trỏ.

Cú pháp khai báo 1 mảng tĩnh:

<kiểu dữ liệu> <tên mảng>[<số phần tử>] = {<các giá trị khởi tạo>};

Lưu ý:

  • <kiểu dữ liệu> của mảng chính là kiểu dữ liệu của các phần tử trong mảng.
  • Khi khai báo, chương trình sẽ tìm 1 vùng nhớ liên tiếp trong RAM để cấp phát cho mảng.
  • <số phần tử> phải là một hằng số.

Ví dụ:

int myArray[5]; // Khai báo mảng tĩnh 5 phần tử
// Khai báo mảng tĩnh 6 phần tử và gán giá trị khởi tạo cho 4 phần tử đầu
int myArray2[6] = { 1, 2, 3, 4 };

2. Cách sử dụng

Khi khái báo mảng xong, ta có thể truy cập tới từng phần tử của mảng thông qua chỉ mục (index). Chỉ mục bắt đầu từ 0 (tức là nếu ta có n phần tử, thì phần tử cuối cùng của mảng là n – 1).

Ví dụ:

int myArray[5] = { 1, 2, 3, 4, 5 };
cout << myArray[2]; // = 3

Thông thường, ta duyệt toàn bộ các phần tử của mảng bằng 1 vòng lặp

int myArray[5] = { 1, 2, 3, 4, 5 };
for (int i = 0; i < 5; i++)
{
  cout << "Phan tu thu " << i << ": " << myArray[i] << endl;
}

// Output
// Phan tu thu 0: 1
// Phan tu thu 1: 2
// Phan tu thu 2: 3
// Phan tu thu 3: 4
// Phan tu thu 4: 5

3. Mảng nhiều chiều

Nghe có vẻ phức tạp hơn nhỉ, ta cùng xét mảng 2 chiều trước nhé!

Mảng 2 chiều bản chất là mảng của các mảng 1 chiều. Hình vẽ sau đây sẽ thể hiện rõ về mảng 2 chiều:

ban-chat-mang

Như các bạn thấy, hình trên là 1 mảng 1 chiều có 4 phần tử, mỗi phần tử lại là 1 mảng 1 chiều khác có 3 phần tử. Thông thường ta sẽ viết nó dưới dạng ma trận:

ma-tran-mang

Như vậy, ta có thể suy ra mảng nhiều chiều bản chất chỉ là mảng của các mảng 1 chiều, mỗi mảng 1 chiều lại là 1 mảng 1 chiều khác, vv,… (có nhiều bạn bị “hack não” ở mảng 2 chiều :v)

Trên đây là bài viết về Mảng – Phần 1. Cảm ơn các bạn đã theo dõi! Xin hẹn gặp lại ở các bài sau nhé!

Tags

About the author

Võ Hoài Sơn

Tính tình bất định
Chọc vào là bịnh
Rất yêu lập trình
Luôn code hết mình
Mình hiện đang là sinh viên của trường ĐH Khoa học tự nhiên TPHCM. Bản thân rất thích code, kiêm luôn cả mần thơ nên thường hơi hâm hâm dở dở. Ngoài ra chém gió, chém chuối, chém trái cây các kiểu cũng là sở trường của mình. Rất mong được làm quen với các bạn :D

Add Comment