C语言内存管理与地址信息获取函数详解
1. free() 函数
1.1 函数概述
free()
函数用于释放之前分配的内存,使其可被后续的内存分配使用。该函数的原型如下:
#include <stdlib.h>
void free(void *ptr);
1.2 功能描述
- 若
ptr
为NULL
指针,free()
函数不执行任何操作。 - 若
ptr
不是由aligned_alloc()
、calloc()
、malloc()
、posix_memalign()
、realloc()
、reallocarray()
或类似malloc()
方式分配内存的函数返回的指针,或者该内存空间已经被释放过,那么使用free()
函数的行为是未定义的。 - 当
ptr
是NULL
指针或者是之前通过类似malloc()
方式分配且尚未释放的指针时,free()
函数不会修改