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.