Có thể bạn đã biết, mỗi biến nằm trong một vị trí bộ nhớ và các vị trí bộ nhớ đều có địa chỉ được định nghĩa, có thể truy cập được bằng cách sử dụng tên của biến của con trỏ, biểu thị một địa chỉ trong bộ nhớ.
Các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về cấu trúc một chương trình Pascal cũng như cách viết hàm trong Pascal. Nối tiếp chủ đề Pascal, bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về con trỏ trong Pascal.
Con trỏ trong Pascal là gì?
Con trỏ trong Pascal là biến kiểu dynamic, có giá trị là địa chỉ của một biến khác, tức là địa chỉ trực tiếp của vị trí bộ nhớ. Giống như biến hoặc hằng, bạn phải khai báo con trỏ trước khi sử dụng để lưu trữ địa chỉ biến bất kỳ.
Cấu trúc chung khai báo biến của con trỏ có dạng:
type
ptr-identifier = ^base-variable-type;
Kiểu con trỏ trong Pascal được định nghĩa bằng tiền tố mũi tên hướng lên như ký hiệu (^) với kiểu cơ sở. Kiểu cơ sở xác định kiểu các mục dữ liệu. Khi biến con trỏ được định nghĩa là một kiểu cụ thể, nó có thể chỉ các mục dữ liệu của kiểu đó. Sau khi kiểu con trỏ được định nghĩa, chúng ta có thể sử dụng khai báo var để khai báo các biến con trỏ.
var
p1, p2, ... : ptr-identifier;
Dưới đây là ví dụ khai báo con trỏ trong Pascal hợp lệ:
Các biến con trỏ được truy cập vào vùng nhớ mà một con trỏ trỏ tới bằng cách sử dụng biểu tượng (^). Ví dụ biến liên kết được gọi bởi con trỏ rptr, là rptr ^. Nó có thể được truy cập như sau:
rptr^ := 234.56;
Tham khảo thêm ví dụ dưới đây để hiểu rõ hơn về con trỏ trong Pascal:
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:
In địa chỉ bộ nhớ trong Pascal
Trong Pascal chúng ta có thể gán địa chỉ của một biến cho biến của con trỏ, sử dụng toán tử địa chỉ (@). Sử dụng con trỏ này để thao tác và truy cập vào các mục dữ liệu. Tuy nhiên, giả sử vì lý do nào đó mà cần sử dụng địa chỉ bộ nhớ, bạn sẽ phải lưu trữ nó trong một biến kiểu chữ.
Ví dụ dưới đây để in địa chỉ bộ nhớ được lưu trong con trỏ iptr:
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:
Con trỏ NIL trong Pascal
Trong trường hợp không có địa chỉ chính xác được gán, bạn có thể gán giá trị NIL cho biến của con trỏ. Thao tác này được thực thi vào thời điểm khai báo biến. Dưới đây là ví dụ về con trỏ NIL trong Pascal:
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:
The value of ptr is 0
Để kiểm tra con trỏ nil, bạn có thể sử dụng lệnh If dưới đây:
Con trỏ trong Pascal
Như vậy bài viết trên Taimienphi.vn vừa giới thiệu cho bạn về con trỏ trong Pascal. Hy vọng sau bài viết bạn đọc sẽ biết thêm được nhiều thông tin mới về Pascal. Bài viết tiếp theo Taimienphi.vn sẽ giới thiệu tiếp cho bạn về kiểu bản ghi trong Pascal.