🌱 C++ Array - Mảng trong C++
Trong C++, array - mảng là một tập hợp các biến có cùng kiểu dữ liệu. Mục đích sinh ra là để quản lý các biến có cùng mục đích một cách tốt hơn.
Chẳng hạn, cần quản lý tuổi của 100 nhân viên trong công ty, chúng ta cần tạo 100 số nguyên với tên gọi khác nhau nếu không có mảng. Thay vào đó, có thể tạo ra một mảng đơn giản để quản lý như sau,
int age[100];
Ở đây age là một mảng chứa 100 phần tử với kiểu dữ liệu là int. Trong C++, kích thước (100) và kiểu dữ liệu (int) của mảng là không thể thay đổi sau khi nó được khai báo.
👉 Khai báo mảng trong C++ - Declaration
dataType arrayName[arraySize];
- dataType - Kiểu dữ liệu của các phần tử trong mảng.
- arrayName - Tên của mảng.
- arraySize - Tổng số phần tử trong mảng.
👉 Truy cập đến các phần tử trong mảng
Trong C++, mỗi phần tử của mảng sẽ có một chỉ số index, chúng ta có thể truy cập đến các phần tử trong mảng thông qua các index này.
Ví dụ mảng sau,
int x[6];
Các phần tử của mảng trong C++ |
Đặc điểm,
- Các index của mảng bắt đầu từ 0 cho đến (arraySize - 1)
- Các phần tử của mảng có địa chỉ liên tiếp nhau trên bộ nhớ
👉 Khởi tạo giá trị các phần tử trong mảng
Các phần tử trong mảng có thể được khởi tạo giá trị ngay khi khai báo mảng, bằng cách sử dụng dấu ngoặc nhọn. Ví dụ,
// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};
Khởi tạo giá trị các phần tử của mảng |
🔻 Một cách khác khi khởi tạo các phần tử trong mảng khi khai báo,
// declare and initialize an array
int x[] = {19, 10, 8, 17, 9, 15};
Ở đây chúng ta không có arraySize, compiler sẽ tự động tính toán arraySize dựa theo số phần tử mà chúng ta khai báo. Ở ví dụ trên arraySize = 6.
🔻 Khởi tạo mảng với các phần tử trống
// store only 3 elements in the array
int x[6] = {19, 10, 8};
Với trường hợp này, arraySize = 6 nhưng chúng ta chỉ khai báo 3 phần tử (ít hơn 6 phần tử), thì compiler sẽ tự động gán giá trị cho các phần tử còn lại. Đó có thể là các giá trị ngẫu nhiên, và thông thường là 0.
Array sẽ tự động gán giá trị cho các phần tử trống là 0 |
👉 Ví dụ sử dụng mảng
🔻 Hiển thị các phần tử của mảng
#include <iostream>
using namespace std;
int main()
{
int numbers[5] = {7, 5, 6, 12, 35};
cout << "The numbers are: ";
// Printing array elements = method 1
for (const int &n : numbers)
{
cout << n << " ";
}
cout << "\nThe numbers are: ";
// Printing array elements = method 2
for (int i = 0; i < 5; ++i)
{
cout << numbers[i] << " ";
}
return 0;
}
Run This Code
➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau.
The numbers are: 7 5 6 12 35
The numbers are: 7 5 6 12 35
🔻 Tính tổng các phần tử trong mảng
#include <iostream>
using namespace std;
int main()
{
// initialize an array without specifying size
double numbers[] = {7, 5, 6, 12, 35, 27};
double sum = 0, count = 0, average;
cout << "The numbers are: ";
// print array elements
// use of range-based for loop
for (const double &n : numbers)
{
cout << n << " ";
// calculate the sum
sum += n;
// count the no. of array elements
++count;
}
// print the sum
cout << "\nTheir Sum = " << sum << endl;
return 0;
}
Run This Code
👉 Kết luận
Để duyệt qua các phần tử của mảng, chúng ta thường sử dụng vòng lặp for.
Nếu như chúng ta cố tình truy cập vào phần tử với Index không hợp lệ (ví dụ Index >= arraySize), chương trình sẽ truy cập vào ô nhớ tiếp theo, theo đúng thứ tự, nhưng dữ liệu trả về sẽ là ngẫu nhiên, và không hợp lệ.
>>>= Follow ngay =<<<
Để nhận được những bài học miễn phí mới nhất nhé 😊
Chúc các bạn học tập tốt 😊