C庫函數 void free(void *ptr) 由calloc,malloc或realloc調用先前分配的回收內存。
以下是free()函數的聲明。
void free(void *ptr)
ptr -- 這是用malloc,calloc的或realloc被釋放以前分配的內存塊的指針。如果一個空指針作為參數傳遞,不會發(fā)生任何動作
這個函數不返回任何值。
下面的例子演示了如何使用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 = yiibai.com, Address = 355090448