在C语言中,如果使用了动态分配的内存(如使用malloc函数),则需要手动释放该内存,否则会导致内存泄漏。
以下是一个示例代码,演示了如何正确释放char*变量的内存:
#include
#include
#include
int main() {
char* str = (char*)malloc(10 * sizeof(char));
strcpy(str, "Hello");
printf("str: %s\n", str);
// 释放内存
free(str);
str = NULL;
return 0;
}
在上述代码中,我们首先使用malloc函数动态分配了一个长度为10的char型数组,然后使用strcpy函数将字符串"Hello"复制到这个数组中。最后,使用free函数释放了分配的内存,并将指针变量str设置为NULL,以避免出现悬空指针。
请注意,在使用free函数释放内存后,应将指针变量设为NULL,以避免意外地再次使用已释放的内存。
总结起来,要正确释放char*变量的内存,可以按照以下步骤进行操作:
这样可以确保不会出现内存泄漏的问题。
上一篇:变量超出作用域(可能)-未定义
下一篇:变量插入到闪烁函数中