Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Có hai loại con trỏ khác nhau: Con trỏ chỉ có thể tham chiếu tới các ÐTDL cùng kiểu Ðây là phương pháp được dùng trong Pascal và Ada. Ví dụ trong Pascal: Var p: ^integer chỉ ra rằng p là một biến con trỏ chứa địa chỉ của ô nhớ lưu trữ được một số integer. Var q: ^VECT chỉ ra rằng q là một biến con trỏ chứa địa chỉ của khối ô nhớ của ÐTDL thuộc kiểu véctơ VECT nào đó. Con trỏ có thể tham chiếu tới các ÐTDL khác kiểu nhau Ðây là cách được. | Giáo trình phân tích khả năng ứng dụng đối tượng dữ liệu mang bộ mô tả kiêu động Đặc tả thuộc tính Có hai loại con trỏ khác nhau Con trỏ chỉ có thể tham chiếu tới các ĐTDL cùng kiểu Đây là phương pháp được dùng trong Pascal và Ada. Ví dụ trong Pascal Var p Ainteger chỉ ra rằng p là một biến con trỏ chứa địa chỉ của ô nhớ lưu trữ được một số integer. Var q AVECT chỉ ra rằng q là một biến con trỏ chứa địa chỉ của khối ô nhớ của ĐTDL thuộc kiểu véctơ VECT nào đó. Con trỏ có thể tham chiếu tới các ĐTDL khác kiểu nhau Đây là cách được dùng trong các ngôn ngữ như SNOBOL4 nơi mà đối tượng dữ liệu mang bộ mô tả kiểu trong quá trình thực hiện và phép kiểm tra kiểu động được sử dụng. Đặc tả phép toán Các phép toán bao gồm Phép toán cấp phát ô nhớ động Phép toán này dùng để cấp phát ô nhớ cho đối tượng dữ liệu mới và trả địa chỉ của ô nhớ đó về trong biến con trỏ. Đây là phép toán quan trọng nhất của kiểu con trỏ. Phép toán này có hai điểm khác biệt với việc tạo ra đối tượng dữ liệu tĩnh bằng cách khai báo là Đối tượng dữ liệu được tạo ra không cần có tên vì nó được truy xuất thông qua con trỏ và đối tượng dữ liệu có thể được tạo ra một cách động trong quá trình thực hiện chương trình. Trong Pascal và Ada thì phép toán này có tên là NEW. Ví dụ NEW p . Phép toán truy xuất ô nhớ được cấp phát động Để truy xuất đến giá trị dữ liệu lưu trong khối ô nhớ cấp phát động ta phải sử dụng địa chỉ của khối ô nhớ thông qua tên con trỏ vì khối ô nhớ này không có tên . Ví dụ qA 5 là phần tử thứ 5 của véctơ Vect được trỏ bởi q. Phép toán thu hồi ô nhớ được cấp phát động Phép toán này cho phép giải phóng ô nhớ đã cấp phát. Trong Pascal dùng phép toán DISPOSE. Ví dụ sau trong Pascal minh hoạ tổng hợp các điều nói trên Type Vect ARRAY 1.10 of Integer Lúc này bộ nhớ cho Vect chưa được cấp phát VAR p AVect Khai báo p là một biến con trỏ chứa địa chỉ của khối ô nhớ lưu trữ ĐTDL thuộc kiểu véctơ Vect. Khi dịch đến đây thì ô nhớ cho p sẽ được cấp phát Begin 49 Chương IV Kiểu dữ liệu có cấu ti. NEW p