位置:首頁 > 高級語言 > C語言標準庫 > free() - C語言庫函數

free() - C語言庫函數

C庫函數 void free(void *ptr) 由calloc,malloc或realloc調用先前分配的回收內存。

聲明

以下是free()函數的聲明。

void free(void *ptr)

參數

  • ptr -- 這是用malloc,calloc的或realloc被釋放以前分配的內存塊的指針。如果一個空指針作為參數傳遞,不會發生任何動作

返回值

這個函數不返回任何值。

例子

下麵的例子演示了如何使用free() 函數。

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

int main()
{
   char *str;

   /* Initial memory allocation */
   str = (char *) malloc(15);
   strcpy(str, "yiibai");
   printf("String = %s,  Address = %u
", str, str);

   /* Reallocating memory */
   str = (char *) realloc(str, 25);
   strcat(str, ".com");
   printf("String = %s,  Address = %u
", str, str);

   /* Deallocate allocated memory */
   free(str);
   
   return(0);
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

String = yiibai, Address = 355090448
String = gitbook.net, Address = 355090448