Các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về ngày và giờ trong Pascal và thủ tục trong Pascal, trong bài viết này Taimienphi.vn sẽ giải thích cho bạn về bộ nhớ trong Pascal, phân bổ bộ nhớ động trong Pascal.
Ngôn ngữ lập trình Pascal cung cấp một số hàm phân bổ và quản lý bộ nhớ. Tham khảo tiếp bài viết dưới đây của Taimienphi.vn để tìm hiểu về bộ nhớ trong Pascal.
Phân bổ bộ nhớ động trong Pascal
Trong khi làm việc với chương trình, nếu biết kích thước mảng, bạn có thể dễ dàng định nghĩa nó như một mảng. Chẳng hạn để lưu trữ tên của một người nào đó, nó có thể tăng tối đa 100 ký tự để bạn có thể định nghĩa một cái gì đó như dưới đây:
var
name: array[1..100] of char;
Xem xét ví dụ dưới đây, giả sử bạn chưa có ý tưởng về độ dài của một đoạn text mà bạn cần lưu trữ, chẳng hạn như đoạn text mô tả chi tiết về một chủ đề. Trong ví dụ này bạn cần định nghĩa một con trỏ tới chuỗi không định nghĩa cần bao nhiêu bộ nhớ.
Pascal cung cấp thủ tục new để tạo các biến con trỏ.
Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:
Name = Zara Ali
Description: Zara ali a DPS student in class 10th
Tiếp theo nếu cần định nghĩa con trỏ có số byte cụ thể, bạn sử dụng hàm getmem hoặc getmem routine, cú pháp sẽ như dưới đây:
Trong ví dụ trên khai báo con trỏ tới một chuỗi. Chuỗi có giá trị lớn nhất là 255 byte. Nếu không cần nhiều bộ nhớ hoặc cần bộ nhớ lớn hơn, chương trình con getmem cho phép bạn thực hiện điều này. Tiếp tục ở ví dụ trên, nếu sử dụng getmem:
Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:
Name = Zara Ali
Description: Zara ali a DPS student in class 10th
Như vậy bạn có toàn quyền kiểm soát và có thể điều chỉnh phân bổ bộ nhớ. Không giống như các mảng, sau khi định nghĩa bạn không thể thay đổi kích thước bộ nhớ nữa.
Thay đổi kích thước và phát hành bộ nhớ
Khi chương trình xuất hiện, hệ điều hành sẽ tự động phát hành bộ nhớ mà chương trình phân bổ, nhưng nếu trong trường hợp không cần sử dụng, bạn có thể giải phóng bộ nhớ đó.
Pascal cung cấp thủ tục dispose để giải phóng bộ nhớ động bằng cách tạo biến bằng thủ tục new. Nếu phân bổ bộ nhớ bằng cách sử dụng chương trình con getmem, bạn sẽ phải sử dụng chương trình con freemem để giải phóng bộ nhớ.
Cú pháp các chương trình con freemem có dạng như dưới đây:
Ngoài ra bạn có thể tăng hoặc giảm kích thước của khối bộ nhớ được phân bổ bằng cách gọi hàm ReAllocMem. Cú pháp kiểm tra một chương trình ở trên sử dụng các chương trình con ReAllocMem và freemem có dạng:
Ví dụ dưới đây minh họa cách sử dụng các chương trình con ReAllocMem và freemem:
Khi đoạn mã trên được biên dịch và thực thi, nó sẽ trả về kết quả dưới đây:
Name = Zara Ali
Description: Zara ali a DPS student. She is in class 10th
Các hàm quản lý bộ nhớ trong Pascal
https://thuthuat.taimienphi.vn/bo-nho-trong-pascal-34040n.aspx
Bài viết trên đây Taimienphi.vn vừa cung cấp cho bạn một số thông tin về bộ nhớ trong Pascal cũng như các hàm quản lý bộ nhớ trong Pascal. Ngoài ra để tìm hiểu về toán tử trong Pascal, các lệnh vòng lặp trong Pascal, ... bạn đọc có thể tham khảo một số bài viết đã có trên Taimienphi.vn nhé.