Con trỏ: THỦ TỤC NEW
Trong ngôn ngữ Pascal, thủ tục chuẩn New được dùng để tạo ra một biến động. Tham số duy nhất cần cho New là biến con trỏ ( kí hiệu là PointerVar ) trỏ tới biến động mà chúng ta muốn lập ra.
New ( PointerVar )
Ví du : Để tạo ra biến động P^ do con trỏ P trỏ tới, ta viết :
New(P) ;
Như vậy New(P) sẽ sắp xếp bộ nhớ cho một biến động có kiểu là Nhan_su.
Nếu trong một chương trình ta dùng n lần New(P) liên tục thì cuối cùng ta có n biến độâng kiểu Nhan_su song con trỏ P sẽ chỉ trỏ vào biến động được tạo ra lần cuối cùng. Ví dụ nếu trong chương trình ta viết hai lần như sau :
New ( P ) ; (* Tạo ra biến động có địa chỉ trong P *)
With P^ Do (* Câu lệnh With được phép dùng với biến động *)
Begin
Ten := ' Mot ' ;
Tuoi := 1 ;
End ;
New ( P ) ;
P^. Ten := ' Hai ' ;
P^. Tuoi := 2 ;
Như vậy ta đã tạo ra được hai biến động kiểu Nhan_su, song sau lần gọi New(P) lần hai, biến động đầu tiên mặc dù vẫn còn nằm trong ô nhớ của nó nhưng con trỏ P không chứa địa chỉ của nó nữa mà P sẽ trỏ vào biến động vừa được tạo ra (' Hai ', 2).
Nói tóm lại, sau mỗi lần dùng New(P) thì con trỏ P sẽ chứa địa chỉ của biến động P^ vừa được tạo ra, còn các biến động được tạo ra bằng New(P) trước đây sẽ không được P trỏ vào nữa. Muốn truy cập vào các biến động được tạo ra trước đấy, ta phải có các biện pháp lưu trữ địa chỉ của chúng lại ( ta sẽ xét đến ở bài sau ).
Đỗ Trung Thành @ 10:43 13/09/2009
Số lượt xem: 909
- Con trỏ: ĐỊNH NGHĨA (13/09/09)
- Dữ liệu kiểu tệp: TỆP KHÔNG ĐỊNH KIỂU (13/09/09)
- Dữ liệu kiểu tệp: TỆP VĂN BẢN (13/09/09)
- Dữ liệu kiểu tệp: THỦ TỤC VÀ HÀM XỬ LÍ TỆP (13/09/09)
- Dữ liệu kiểu tệp: TỆP TRUY NHẬP TRỰC TIẾP (13/09/09)

Các ý kiến mới nhất