Tin họC ĐẠi cưƠNG


Thâm nhập vào biến động trỏ bởi p ta viết p^



tải về 228.5 Kb.
trang17/19
Chuyển đổi dữ liệu28.05.2024
Kích228.5 Kb.
#57772
1   ...   11   12   13   14   15   16   17   18   19
On tap Pascal nang cao

Thâm nhập vào biến động trỏ bởi p ta viết p^

Biến con trỏ p (2 bytes) chứa địa chỉ của biến động p^ (6 bytes)


10.3 GÁN VÀ SO SÁNH CON TRỎ

  • Phép gán (:=)

VAR
p, q: ^Char; r: Pointer;
Ta có thể thực hiện phép gán:
p:= q; {q trỏ đến vùng nhớ nào, p trỏ đến vùng nhớ đó}
r:= p; {r trỏ đến vùng nhớ mà p trỏ, và r có kiểu của p}
q:= NIL; {q không trỏ vào đâu cả}


  • So sánh 2 con trỏ cùng kiểu
  • Chỉ có 2 phép so sánh = và <> với kiểu con trỏ.

  • Giá trị của biến con trỏ không thể đọc vào từ bàn phím hay in ra màn hình, máy in.




10.4 CÁC THỦ TỤC VÀ HÀM CHUẨN

  • Thủ tục New(p): Cấp phát bộ nhớ cho biến động trỏ bởi biến con trỏ p.

Nếu dùng N lần NEW(p) liên tục thì có N biến động cùng kiểu, nhưng con trỏ p chỉ trỏ vào biến động tạo ra cuối cùng. Muốn truy nhập các biến động tạo ra trước đó, phải lưu trữ địa chỉ của chúng.





  • Thủ tục Dispose(p): Giải phóng bộ nhớ đã cấp cho biến động trỏ bởi p.

  • Thủ tục Mark(p): Đánh dấu địa chỉ cần giải phóng sau này.


  • Thủ tục Release(p): Xoá mọi biến động được tạo ra từ khi đánh dấu bởi Mark(p).

VD 10.2 (dùng New(p), Dispose(p), Mark(p), Release(p))

VAR {Khai báo các biến con trỏ}

p, q, r, s: ^Real; {biến con trỏ chứa đ/c biến động kiểu Real}

t: Pointer; {con trỏ không định kiểu}

BEGIN

New(p);

...

Mark(t);

...

New(q);

...

New(r);

...

Release(t);

...

END.





  • Thủ tục GetMem(p, n): Cấp phát n bytes cho biến động trỏ bởi p.
1   ...   11   12   13   14   15   16   17   18   19




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương