C 标准库 - <stdlib.h>

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 是好习惯。