Cách Xác định Kích Thước Của Mảng

Mục lục:

Cách Xác định Kích Thước Của Mảng
Cách Xác định Kích Thước Của Mảng

Video: Cách Xác định Kích Thước Của Mảng

Video: Cách Xác định Kích Thước Của Mảng
Video: VBA Exel |Macro|Bài 19| Cách Tạo Funtion Của Mảng| Mảng 2 Chiều 2024, Có thể
Anonim

Mảng là một trong những hình thức lưu trữ dữ liệu thường xuyên được sử dụng trong quá trình hoạt động của chương trình. Chúng cho phép bạn tổ chức các phần tử cùng loại theo một trình tự có thứ tự và truy cập nhanh vào chúng theo chỉ mục. Thông thường, khi phát triển các ứng dụng bằng các ngôn ngữ lập trình mạnh mẽ và linh hoạt cho phép truy cập bộ nhớ trực tiếp, chẳng hạn như C ++, bạn cần xác định kích thước của mảng.

Cách xác định kích thước của mảng
Cách xác định kích thước của mảng

Cần thiết

Trình biên dịch C ++

Hướng dẫn

Bước 1

Xác định kích thước của mảng tại thời điểm biên dịch bằng cách tính toán nó bằng toán tử sizeof. Toán tử này trả về lượng bộ nhớ (tính bằng byte) bị chiếm bởi đối số được truyền cho nó. Đối số có thể là một biến hoặc một định danh kiểu. Toán tử sizeof trả về lượng bộ nhớ hữu hạn mà đối tượng chiếm giữ ở giai đoạn thực thi chương trình (ví dụ, có tính đến cài đặt cho sự căn chỉnh của các trường cấu trúc), nhưng việc tính toán của nó được thực hiện ở giai đoạn biên dịch.

Bước 2

Để xác định kích thước của một mảng bằng cách sử dụng toán tử sizeof, hãy chia toàn bộ kích thước của nó cho kích thước của một phần tử. Ví dụ: nếu bạn có định nghĩa sau về mảng: int aTemp = {10, 20, 0xFFFF, -1, 16}, thì kích thước của nó có thể được tính như sau: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);

Bước 3

Để sử dụng phương pháp này thuận tiện hơn, bạn nên xác định macro: #define countof (a) (sizeof (a) / sizeof (a [0])) Lưu ý rằng vì giá trị của toán tử sizeof được tính toán khi biên dịch tại thời điểm, nơi thực hiện phép tính, thông tin về khối lượng của mảng và các phần tử của nó phải có sẵn một cách rõ ràng. Nói cách khác, không thể xác định các tham số của một mảng có kích thước không xác định bằng cách khai báo bên ngoài của nó.

Bước 4

Xác định kích thước của mảng trong quá trình thực thi chương trình, sử dụng dấu hiệu kết thúc của mảng đã biết. Một trong những cách tiếp cận cho phép lưu trữ và truyền dữ liệu dưới dạng mảng có độ dài không xác định là cấp phát một giá trị đặc biệt cho một dấu hiệu cho biết sự hoàn thành của một chuỗi dữ liệu. Ví dụ: chuỗi kiểu C byte đơn là mảng ký tự phải kết thúc bằng giá trị 0, mảng chuỗi C có độ dài thay đổi được đóng gói được kết thúc bằng 0 và mảng con trỏ phải được kết thúc bằng rỗng.

Bước 5

Để xác định kích thước của một mảng được biểu diễn theo cách này, hãy quét nó từng phần tử cho đến khi bạn tìm thấy phần tử kết thúc. Tăng bộ đếm không khởi tạo trong quá trình quét. Hoặc, tăng giá trị của con trỏ đến một phần tử mảng và sau khi quét, hãy tính toán sự khác biệt giữa các con trỏ đến phần tử hiện tại và phần tử đầu tiên.

Bước 6

Lấy kích thước của một mảng động được đại diện bởi một đối tượng khung hoặc thư viện bằng cách gọi phương thức của nó. Bất kỳ lớp nào đóng gói chức năng của các mảng như vậy đều có các phương thức để lấy số phần tử hiện tại. Ví dụ, lớp mẫu vectơ std:: của thư viện chuẩn C ++ có phương thức kích thước, lớp QVector của khung công tác Qt có phương thức đếm và lớp CArray tương tự của MFC có phương thức GetCount.

Đề xuất: