STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ

    Khái Niệm Mảng

    Tìm hiểu về cấu trúc dữ liệu mảng.
    Phi Phạm

    Phi Phạm

    26/04/2015
    13/09/2020
    2 phút đọc
    Khái Niệm Mảng

    Mảng trong C++

    Mảng là gì?

    Giả sử cần lưu thông tin điểm số của 100 học sinh và việc khai báo 100 biến tên student1, student2, student3, ... student100 để làm việc này rất tốn thời gian. C++ cung cấp 1 cấu trúc dữ liệu để làm được việc này một cách hiệu quả, đó là sử dụng mảng.

    1 mảng là một chuỗi hữu hạn các phần tử có cùng kiểu dữ liệu được lưu trữ tại các vùng nhớ liên tiếp nhau, mỗi phần tử được xác định bằng một chỉ số - số thứ tự của nó trong mảng.

    Ví dụ: Mảng a có 4 phần tử - 4 giá trị int được lưu trữ liên tiếp nhau có thứ tự từ 0 – 3 như hình trên.

    Lưu ý: chỉ số của mảng trong C++ bắt đầu từ 0.

    Kích thước của mảng

    Vì mảng là tập hợp các phần tử cùng kiểu dữ liệu nên kích thước của nó là tổng kích thước của tất cả các phần tử trong nó.

    Ví dụ: mảng a ở trên có 4 phần tử int, mỗi phần tử int chiếm 4 bytes trên bộ nhớ, nên kích thước của a sẽ là 4 * 4 = 16  bytes. Nếu đây là mảng các phần tử short - chiếm 2 bytes trên bộ nhớ thì kích thước mảng a chỉ là 4 * 2 = 8 bytes.

    Có thể dễ dàng xác định kích thước của mảng a bằng cách sử dụng: sizeof(a)

    Truy xuất phần tử mảng

    Mỗi phần tử mảng có 1 chỉ số để xác định, sử dụng chỉ số này truy xuất đến các phần tử này. Có 2 cách cơ bản như sau:

    • tên_mảng[chỉ_số]: như trong ví dụ trên là a[0], a[1], a[2], ...
    • *(tên_mảng + chỉ số): như trong ví dụ trên là *(a + 0), *(a + 1), *(a + 2), ...

    Thật ra, khi sử dụng a[0], trình biên dịch sẽ thực hiện phép cộng a + 0, sau đó mới lấy giá trị tại địa chỉ a + 0 qua *(a + 0). Vậy nếu sử dụng 0[a], trình biên dịch cũng thực hiện 0 + a và lấy giá trị tại địa chỉ này qua *(0 + a), kết quả là như nhau, vậy cũng có thể sử dụng 0[a], 1[a], 2[a], ... để truy xuất các phần tử của mảng.

    Đọc tiếp

    0 Bình luận
    Modern C++

    Modern C++

    STDIO Training - Đào Tạo Lập Trình C++.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021