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 = tw511.com, Address = 355090448