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:
Trong đó:
- cast_type: kiểu dữ liệu con trỏ
- malloc: Gọi hàm malloc để cáp phát bộ nhớ cho con trỏ ptr
- byte_size: Số byte cấp phát
Ví dụ sử dụng
Mình sẽ có ví dụ mình họa như sau:
#include #include int main[]{ int *a;//Khai bao con trỏ a int n; printf["Nhap so phan tu: "]; scanf["%d", &n]; for[int i = 0; i