阅读量:3
在C语言中,free()
函数用于释放通过malloc()
、calloc()
或realloc()
函数分配的内存。它的使用方法如下:
- 在需要释放内存的地方调用
free()
函数。 - 传入需要释放的内存指针作为参数。
- 使用
free()
函数后,不再使用被释放的内存。
以下是一个使用free()
函数释放内存的示例代码:
#include <stdio.h> #include <stdlib.h> int main() { // 分配内存 int* ptr = (int*)malloc(5 * sizeof(int)); if (ptr == NULL) { printf("内存分配失败\n"); return 1; } // 为内存赋值 for (int i = 0; i < 5; i++) { ptr[i] = i + 1; } // 输出内存的值 for (int i = 0; i < 5; i++) { printf("%d ", ptr[i]); } printf("\n"); // 释放内存 free(ptr); ptr = NULL; return 0; }
在上面的示例中,首先使用malloc()
函数分配了一个包含 5 个整数的内存块,并将其赋值给指针 ptr
。然后,使用for
循环为内存块中的每个整数赋值。最后,使用free()
函数释放了内存,并将指针 ptr
设置为 NULL
,以确保不会再对已释放的内存进行访问。
请注意,使用free()
函数之前,需要确保已经完成了对该内存的使用,并且该内存是通过 malloc()
、calloc()
或 realloc()
分配的。否则,释放非动态分配的内存或重复释放已释放的内存可能会导致不可预测的行为。