Chi tiết bài học Mảng trong C++

Mảng trong C++

Trong bài này, bạn sẽ học về cách thao tác với mảng. Bạn sẽ học cách khai báo, khởi tạo và truy xuất những thành phần 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ọ. Để xử lý yếu tố này trong C + +, bạn hoàn toàn có thể tạo một mảng số nguyên với 100 thành phần .
Một mảng là một tập dữ liệu có số lượng cố định và thắt chặt những giá trị cùng kiểu. Ví dụ :

int age[100];

Ở đây, mảng age hoàn toàn có thể có tối đa 100 thành phần kiểu int .
Kích thước và kiểu của mảng không hề bị biến hóa 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, tất cả chúng ta khai báo một mảng mark, có kiểu số thực và kích cỡ là 5. Nghĩa là nó hoàn toà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 hoàn toàn có thể truy xuất thành phần 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ử tiên phong là mark [ 0 ], thành phần 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 giải 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 
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 thành phần. Ví dụ :

int testArray [ 10 ] ;

Bạn hoàn toàn có thể sử dụng những thành phần trong mảng từ testArray [ 0 ] tới testArray [ 9 ] .
Nếu bạn cố gắng nỗ lực truy xuất thành phần mảng bên ngoài khoảng chừng này, ví dụ testArray [ 14 ], trình biên dịch hoàn toàn có thể không báo lỗi. Tuy nhiên, nó hoàn toàn có thể cho ra những hiệu quả không hề biết trước ( undefined behavior ) .