Trong bài này, bạn sẽ học về cách làm việc với mảng. Bạn sẽ học cách khai báo, khởi tạo và truy xuất các phần tử mảng trong lập trình C++.
Trong lập trình, một vấn đề thường xảy ra đó là xử lý nhiều dữ liệu có cùng kiểu.
Xét trường hợp như sau, bạn đang làm khảo sát trên 100 người và bạn cần lưu tuổi của họ. Để giải quyết vấn đề này trong C++, bạn có thể tạo một mảng số nguyên với 100 phần tử.
Một mảng là một tập dữ liệu có số lượng cố định các giá trị cùng kiểu. Ví dụ:
int age[100];
Ở đây, mảng age có thể có tối đa 100 phần tử kiểu int.
Kích thước và kiểu của mảng không thể bị thay đổi sau khi đã khai báo.
Khởi tạo mảng trong C++ như thế nào?
kiểu_dữ_liệu tên_mảng[kích_thước_mảng];
Ví dụ:
float mark[5];
Ở đây, chúng ta khai báo một mảng mark, có kiểu số thực và kích thước là 5. Nghĩa là nó có thể có 5 giá trị số thực.
Các phần tử của mảng và cách truy xuất chúng?
Bạn có thể truy xuất phần tử của một mảng bằng cách sử dụng chỉ số.
Giả sử bạn đã khai báo một mảng mark như trên. Phần tử đầu tiên là mark[0], phần tử thứ hai là mark[1] và cứ như vậy.
Một vài điểm cần lưu ý:
- Mảng có phần tử đầu tiên là 0, không phải 1. Trong ví dụ này, mark[0] là phần tử đầu tiên.
- Nếu kích thước của một mảng là n, để truy xuất phần tử cuối cùng, cần sử dụng chỉ số (n-1). Trong ví dụ này, mark[4] là phần tử cuối cùng.
- Giả sử địa chỉ bắt đầu của mark[0] là 2120d. Vậy, địa chỉ kế tiếp, a[1] sẽ là 2124d, địa chỉ của a[2] sẽ là 2128d và cứ như vậy. Đó là do kích thước của một biến float là 4 bytes.
Cách khởi tạo một mảng trong lập trình C++?
Có thể khởi tạo một mảng trong khi đang khai báo nó. Ví dụ:
int mark[5] = {19, 10, 8, 17, 9};
Một phương pháp khác để khởi tạo mảng trong khi đang khai báo:
int mark[] = {19, 10, 8, 17, 9};
Ở đây,
mark[0] bằng 19
mark[1] bằng 10 mark[2] bằng 8 mark[3] bằng 17 mark[4] bằng 9 |
Làm cách nào để chèn và in ra phần tử mảng?
int mark[5] = {19, 10, 8, 17, 9}
// chèn vào giá trị khác cho phần tử thứ 3
mark[3] = 9;
// Nhận số nhập vào từ người dùng và chèn vào phần tử thứ 3
cin >> mark[2];
// Nhận số nhập vào từ người dùng và chèn vào phần tử thứ (i+1)
cin >> mark[i];
// In ra phần tử đầu tiên của một mảng
cout << mark[0];
// In ra phần tử thứ i của một mảng
cin >> mark[i-1];
Ví dụ: Mảng trong C++
Chương trình C++ giúp lưu và tính tổng của 5 số nhập vào bởi người dùng bằng cách sử dụng mảng.
#include <iostream>
using namespace std;
int main()
{
int numbers[5], sum = 0;
cout << "Enter 5 numbers: ";
// Lưu 5 số nhập vào bởi người dùng trong một mảng
// Tính tổng các số đã nhập vào
for (int i = 0; i < 5; ++i)
{
cin >> numbers[i];
sum += numbers[i];
}
cout << "Sum = " << sum << endl;
return 0;
}
Đầu ra
Enter 5 numbers: 3
4 5 4 2 Sum = 18 |
Những điều cần nhớ khi làm việc với mảng trong C++
Giả sử bạn muốn khai báo một mảng gồm 10 phần tử. Ví dụ:
int testArray[10]; |
Bạn có thể sử dụng các phần tử trong mảng từ testArray[0] tới testArray[9].
Nếu bạn cố gắng truy xuất phần tử mảng bên ngoài khoảng này, ví dụ testArray[14], trình biên dịch có thể không báo lỗi. Tuy nhiên, nó có thể cho ra những kết quả không thể biết trước (undefined behavior).