Search…

Khái Niệm Mảng

13/09/20202 min read
Tìm hiểu về cấu trúc dữ liệu 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

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024