Tài nguyên Thư viện

Thành viên trực tuyến

2 khách và 0 thành viên

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Menu Thư viện

    Gốc > Kiến thức tin học > Lập trình Pascal >

    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 ).


    Nhắn tin cho tác giả
    Đỗ Trung Thành @ 10:43 13/09/2009
    Số lượt xem: 909
    Số lượt thích: 0 người
     
    Gửi ý kiến