在C语言中,释放动态分配的内存通常使用free()
函数。动态分配的内存通常是通过malloc()
、calloc()
或realloc()
函数分配的,要释放这些内存,只需将指向内存块的指针作为参数传递给free()
函数即可。
例如,假设我们有一个动态分配的整型数组,要释放该数组所占用的内存,可以这样做:
int *arr = (int *)malloc(5 * sizeof(int)); // 分配一个包含5个整型元素的数组
// 使用arr数组
free(arr); // 释放arr数组所占用的内存
需要注意的是,一旦调用free()
函数释放了内存,该内存就会被标记为可用,但实际上内存中的数据并没有被删除或清空,如果在释放内存后继续访问已释放的内存区域,会导致未定义行为。因此,在释放内存后最好将指针设置为NULL,以避免出现悬空指针的情况。