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ụ:
1
2
3
| 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ụ:
1
2
| 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
1
2
3
4
5
6
7
8
9
10
11
12
| 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:
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:
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é!
Bình Luận:
0 bình luận: