C 库中的 free() 函数:如何使用?通过示例学习

C 语言中的 free() 函数是什么?

C 库中的 free() 函数允许您释放或取消分配之前由 calloc()、malloc() 或 realloc() 函数分配的内存块。它释放内存块并将内存返回给堆。它有助于释放程序中的内存,以便稍后使用。

在 C 语言中,变量的内存会在编译时自动取消分配。对于 C 中的动态内存分配,您必须显式取消分配内存。如果不这样做,您可能会遇到内存不足的错误。

free() 语法

void free(void *ptr)

这里,ptr 是需要取消分配的内存块。

现在,让我们通过一个示例学习如何在 C 语言中使用 free() 函数。C 语言

C 语言 free() 示例

#include <stdio.h>
int main() {
int* ptr = malloc(10 * sizeof(*ptr));
if (ptr != NULL){
  *(ptr + 2) = 50;
  printf("Value of the 2nd integer is %d",*(ptr + 2));
}
free(ptr);
}

以上 C 语言 free() 示例的输出

 Value of the 2nd integer is 50