C 庫(kù)函數(shù) - free()
C 標(biāo)準(zhǔn)庫(kù) - <stdlib.h>
描述
C 庫(kù)函數(shù) void free(void *ptr) 釋放之前調(diào)用 calloc、malloc 或 realloc 所分配的內(nèi)存空間。
聲明
下面是 free() 函數(shù)的聲明。
void free(void *ptr)
參數(shù)
- ptr -- 指針指向一個(gè)要釋放內(nèi)存的內(nèi)存塊,該內(nèi)存塊之前是通過(guò)調(diào)用 malloc、calloc 或 realloc 進(jìn)行分配內(nèi)存的。如果傳遞的參數(shù)是一個(gè)空指針,則不會(huì)執(zhí)行任何動(dòng)作。
返回值
該函數(shù)不返回任何值。
實(shí)例
下面的實(shí)例演示了 free() 函數(shù)的用法。
#include <stdio.h> #include <stdlib.h> int main() { char *str; /* 最初的內(nèi)存分配 */ str = (char *) malloc(15); strcpy(str, "w3cschool"); printf("String = %s, Address = %u\n", str, str); /* 重新分配內(nèi)存 */ str = (char *) realloc(str, 25); strcat(str, ".cn"); printf("String = %s, Address = %u\n", str, str); /* 釋放已分配的內(nèi)存 */ free(str); return(0); }
讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
String = w3cschool, Address = 355090448 String = w3cschool.cn, Address = 355090448
更多建議: