C 语言 free() 函数用于释放之前用 malloc/calloc/realloc 分配的内存。
原型
void free(void *ptr);释放后该指针不可再访问(悬垂指针)。
参数
ptr- 之前用 malloc/calloc/realloc 分配的内存指针。
示例
#include <stdlib.h>
#include <stdio.h>
int main() {
int *p = (int *)malloc(sizeof(int));
*p = 42;
printf("%d\n", *p);
free(p); // 释放
return 0;
}输出:
42注意事项
不能重复 free 同一指针,否则未定义行为;释放后把指针置 NULL 是好习惯。