void free(void *ptr);何时使用 free() 函">

c语言中free怎么用

来源:这里教程网 时间:2026-02-21 16:48:11 作者:

C 语言中 free() 函数的使用

什么是 free() 函数?

free() 是 C 语言标准库中的一个函数,用于释放已分配给指针变量的动态内存。

如何使用 free() 函数?

立即学习“C语言免费学习笔记(深入)”;

free() 函数的一个参数,即指向要释放内存的变量的指针。语法如下:

<code class="c">void free(void *ptr);</code>

何时使用 free() 函数?

当您不再需要由 malloc() 或 calloc() 等函数分配的动态内存时,需要使用 free() 函数释放该内存。这样做可以防止内存泄漏,即程序在不需要时仍然持有已分配内存的情况。

使用示例

下面是一个示例,演示如何使用 free() 函数:

<code class="c">#include <stdlib.h>
int main() {
    int *ptr = (int *)malloc(sizeof(int));
    if (ptr != NULL) {
        *ptr = 5;
        printf("Value of ptr: %d\n", *ptr);
        // 使用 ptr 后释放内存
        free(ptr);
    }
    return 0;
}</code>

在这个示例中,我们分配了一块整数大小的内存,并将其存储在指针 ptr 中。然后我们访问并打印 ptr 指向的值。最后,我们使用 free() 函数释放 ptr 指向的内存。

注意事项

仅释放已分配的内存。释放未分配的内存会导致未定义的行为。 不要再次释放已释放的内存,否则会导致双重释放错误。 确保在释放内存之前释放指向该内存的所有指针。

相关推荐