Realloc trong c++ là gì
Nói đến con trỏ không thể không nhắc tới cấp phát bộ nhớ động cho biến con trỏ trong ngôn ngữ C/C++. Trong bài viết này, chúng ta sẽ cùng đi giải quyết vấn đề cấp phát bộ nhớ động sử dụng malloc(), calloc() và realloc() trong C. Và new trong C++ để cấp phát bộ nhớ. XEM THÊM: Giải phóng bộ nhớ động trong C/C++ – Hàm free(), delete Cấp phát bộ nhớ trong CĐể sử dụng các hàm malloc(), calloc() và realloc() ta cần khai báo thư viện stdlib.h Hàm malloc()Cú pháp: ptr = (cast_type *) malloc (byte_size);Trong đó:
Ví dụ sử dụng Mình sẽ có ví dụ mình họa như sau: #include Bây giờ bạn hãy chạy thử chương trình này, chắc chắn khi nhập ngay phần tử đầu tiên thì chương trình đã gặp lỗi. Bởi vì con trỏ a chúng ta vẫn chưa cấp phát bộ nhớ cho nó, vậy ta sẽ sử dụng hàm malloc để cấp phát bộ nhớ như sau: #include Và đây là kết quả khi chạy chương trình. Sau khi đã cấp phát bộ nhớ, chương trình đã có thể chạy một cách bình thưởng rồi. Tương Cú pháp: Trong
đó: Ví dụ sử dụng Tương tự như hàm malloc, xem code mẫu. #include Hàm realloc() sử
dụng để cấp phát lại, hay cấp phát thêm bộ nhớ cho con trỏ mà đã được cấp phát bộ nhớ với hàm calloc hoặc malloc trước đó. Ví dụ sử dụng. Mình sẽ có một ví dụ như sau: Ban đầu cấp phát bộ nhớ cho con trỏ str kích thước là 14 ký tự với hàm malloc để lưu chuỗi TUICOCACH.COM, sau đó mình sẽ mở rộng bộ nhớ thành 100 ký tự bằng hàm realloc rồi
nối thêm chuỗi – BLOG TU HOC LAP TRINH vào chuỗi ban đầu. Code mẫu #include Kết quả khi chạy chương trình Trong C++, thay vì hàm malloc(), calloc() và realloc()
thì ta có new để cấp phát bộ nhớ. Cú pháp ptr = new cast_type(size);Trong đó:
Ví dụ sử dụng #include Cảm ơn bạn đã đọc hết bài viết!! Đã cấp phát bộ nhớ thì sẽ cần giải phóng bộ nhớ. Bài viết tiếp theo Giải phóng bộ nhớ động trong C/C++ – Hàm free(), delete. [XEM TẤT CẢ BÀI VIẾT CHỦ ĐỀ C/C++ TẠI ĐÂY] 0 0 Phiếu bình chọn Xếp hạng bài viết |