1. Định nghĩa hàm free() trong C
Hàm free() trong C được sử dụng để giải phóng bộ nhớ cho một con trỏ được cấp phát từ trước. Để khai báo hàm free() trong C, ta sẽ cần sử dụng cú pháp như sau:
void free(void *ptr);
Tham số:
- ptr: là con trỏ đến khối bộ nhớ đã được cấp phát từ trước.
Lưu ý:
- Hàm free() không trả về giá trị nào.
2. Ví dụ về hàm free() trong C
Ví dụ dưới đây, sử dụng hàm free() trong C để giải phóng bộ nhớ sau khi đã thực hiện và sử dụng cho việc cấp phát bộ nhớ thành công!
#include <stdio.h>
#include <stdlib.h>
int main()
{
// con tro
int *ptr, *ptr1;
int n, i;
// Nhap so phan tu cho mang
n = 5;
printf("Nhap so phan tu: %d\n", n);
// Su dung malloc de cap phat bo nho
ptr = (int*)malloc(n * sizeof(int));
// Su dung malloc de cap phat bo nho
ptr1 = (int*)calloc(n, sizeof(int));
// Kiem tra xem bo nho da duoc cap phat thanh cong chua
if (ptr == NULL || ptr1 == NULL) {
printf("Bo nho chua duoc cap phat.\n");
exit(0);
}
else {
// Bo nho da duoc cap phat
printf("Bo nho da duoc cap phat thanh cong boi malloc.\n");
// Giai phong bo nho
free(ptr);
printf("Bo nho malloc da duoc giai phong.\n");
// Bo nho duoc cap phat thanh cong
printf("\nBo nho da duoc cap phat thanh cong boi calloc.\n");
// Giai phong bo nho
free(ptr1);
printf("Bo nho calloc da duoc giai phong.\n");
}
return 0;
}
Kết quả :
| Nhap so phan tu: 5 Bo nho da duoc cap phat thanh cong boi malloc. Bo nho malloc da duoc giai phong.Bo nho da duoc cap phat thanh cong boi calloc. Bo nho calloc da duoc giai phong. |


