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 指向的内存。
注意事项
仅释放已分配的内存。释放未分配的内存会导致未定义的行为。 不要再次释放已释放的内存,否则会导致双重释放错误。 确保在释放内存之前释放指向该内存的所有指针。