3.9.3 Cấp phát bộ nhớ động (2)

Bây giờ chúng tôi sẽ cho bạn thấy một chương trình đầy đủ về việc sử dụng cả hai từ khóa new và delete

  • Khai báo một biến con trỏ arr sẽ dùng để trỏ tới dữ liệu kiểu int (kiểu của arr là int *); không khởi tạo giá trị ban đầu cho biến này
  • Sử dụng từ khoá new để cấp phát một khối bộ nhớ đủ để lưu trữ một mảng float gồm 5 phần tử
  • Sử dụng mảng mới được cấp phát và sau đó giải phóng nó bằng từ khóa delete

Hãy chú ý đến việc con trỏ được trả lại bởi toán tử new được xem như là một mảng. Ngạc nhiên chưa …?

Việc xử lý mảng động (tạo ra trong quá trình chạy chương trình) không khác gì việc sử dụng các mảng thông thường được khai báo theo cách thông thường. Chúng ta vẫn có thể sử dụng dấu [] để thể truy cập các phần tử của nó như bình thường.

Việc cấp phát số lượng bộ nhớ đúng với nhu cầu thực thế của chương trình cho phép chúng ta viết các chương trình có thể đáp ứng với kích thước của dữ liệu đang được xử lý. Với cấp phát bộ nhớ động chúng ta có thể cải tiến chương trình trên để cho phép người dùng nhập vào kích thước của mảng mà người dùng muốn.