tailieunhanh - Ngôn ngữ lập trình c&c++ ( Phạm Hồng Thái) P11

Chương 4. Hàm và chương trình . Khi đó vùng nhớ mà chương trình dịch đã dành cho mảng là không đủ để sử dụng. Đây chính là hạn chế thứ hai của mảng được khai báo trước. Khắc phục các hạn chế trên của kiểu mảng, bây giờ chúng ta sẽ không khai báo (bố trí) trước mảng dữ liệu với kích thước cố định như vậy. Kích thước cụ thể sẽ được cấp phát trong quá trình chạy chương trình theo đúng yêu cầu của NSD. Nhờ vậy chúng ta có đủ số ô nhớ để làm việc mà. | Chương 4. Hàm và chương trình cần làm việc với hơn 1000 số nguyên. Khi đó vùng nhớ mà chương trình dịch đã dành cho mảng là không đủ để sử dụng. Đây chính là hạn chế thứ hai của mảng được khai báo trước. Khắc phục các hạn chế trên của kiểu mảng bây giờ chúng ta sẽ không khai báo bố trí trước mảng dữ liệu với kích thước cố định như vậy. Kích thước cụ thể sẽ được cấp phát trong quá trình chạy chương trình theo đúng yêu cầu của NSD. Nhờ vậy chúng ta có đủ số ô nhớ để làm việc mà vẫn tiết kiệm được bộ nhớ và khi không dùng nữa ta có thể thu hồi còn gọi là giải phóng số ô nhớ này để chương trình sử dụng vào việc khác. Hai công việc cấp phát và thu hồi này được thực hiện thông qua các toán tử new delete và con trỏ p. Thông qua p ta có thể làm việc với bất kỳ địa chỉ nào của vùng được cấp phát. Cách thức bố trí bộ nhớ như thế này được gọi là cấp phát động. Sau đây là cú pháp của câu lệnh new. p new kiểu cấp phát 1 phần tử p new kiểu n cấp phát n phần tử Ví dụ int p p new int p float int 100 cấp phát vùng nhớ chứa được 1 số nguyên cấp phát vùng nhớ chứa được 100 số thực Khi gặp toán tử new chương trình sẽ tìm trong bộ nhớ một lượng ô nhớ còn rỗi và liên tục với số lượng đủ theo yêu cầu và cho p trỏ đến địa chỉ byte đầu tiên của vùng nhớ này. Nếu không có vùng nhớ với số lượng như vậy thì việc cấp phát là thất bại và p NULL NULL là một địa chỉ rỗng không xác định . Do vậy ta có thể kiểm tra việc cấp phát có thành công hay không thông qua kiểm tra con trỏ p bằng hay khác NULL. Ví dụ float p int n cout Số lượng cần cấp phát cin n p new double n if p NULL cout Không đủ bộ nhớ exit 0 Ghi chú lệnh exit 0 cho phép thoát khỏi chương trình để sử dụng lệnh này cần khai báo file tiêu đề . 89 Chương 4. Hàm và chương trình Để giải phóng bộ nhớ đã cấp phát cho một biến khi không cần sử dụng nữa ta sử dụng câu lệnh delete. delete p p là con trỏ được sử dụng trong new và để giải phóng toàn bộ mảng được cấp pháp thông qua con trỏ p ta dùng câu lệnh deleted p p là con trỏ trỏ đến

crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.