Hàm free() trong C

Hàm void free(void *ptr) giải phóng bộ nhớ đã được cấp phát trước đó bởi một lời gọi tới calloc, malloc, hoặc realloc

Khai báo hàm free() trong C

Dưới đây là phần khai báo cho free() trong C:

void free(void *ptr)

Tham số

ptr: Đây là con trỏ tới khối bộ nhớ đã được cấp phát trước đó với malloc, calloc hoặc realloc để được giải phóng. Nếu tham số truyền vào là một con trỏ null, thì không hành động nào diễn ra.

Trả về giá trị

Hàm này không trả về bất cứ giá trị nào.

Ví dụ

Chương trình C sau minh họa cách sử dụng của free() trong C:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   char *str;

   /* lan cap phat bo nho ban bau */
   str = (char *) malloc(15);
   strcpy(str, "QTMTeam");
   printf("Chuoi = %s,  tai Dia chi = %u\n", str, str);

   /* tai cap phat lai bo nho */
   str = (char *) realloc(str, 25);
   strcat(str, ".@gmail.com");
   printf("Chuoi = %s,  tai Dia chi = %u\n", str, str);

   /* Giai phong bo nho da cap phat */
   free(str);
   
   return(0);
}

Biên dịch và chạy chương trình C trên để xem kết quả.