函数方法内申请的结构体指针,结束的时候必须要free吗?
bool WSetValue(char *Name, float value)
{
struct TTT *t;
if ((t = (struct TTT*)hash_table_get(ht, Name)) == NULL)
return false;
//Do Something。。。。
free(t); //这里是否必须free掉这个结构体指针?
return true;
}
把一个结构体放到hashtable里以供按名字查询,查询完了需要把这个结构体指针free掉吗?
做的是个dll供C#调用,有很多类似这样的查询函数,每个都改太麻烦了。
如果不free有影响吗?
...全文
相关推荐
结构体中动态内存的管理(malloc和free)
C语言中内存的管理主要是依据malloc和free实现的,其中malloc主要是实现内存的分配,而free则是实现内存的释放。虽然这是我们已经很熟悉的,但是还是存在一些问题。特别是当结构体中存在指针的情况下,各种问题也就会展现出来。
C语言中free函数的使用详解
free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下
C语言之free函数以及野指针介绍
【FROM MSDN && 百科】原型:void free(void *ptr);#include<stdlib>或#include <malloc>Deallocate space in memory释放ptr指向的存储空间。被释放的空间通常被送入可用存储区池,以后可在调用malloc、realloc以及realloc函数来再分配。注意:连续两次使用free函数,肯定会发生错误。malloc的次数要和free的次数相等。A block of memory previously allocated using a call to malloc, calloc or realloc is
C语言基础之malloc和free函数详解
主要介绍了C语言基础之malloc和free函数详解的相关资料,需要的朋友可以参考下
详解C语言用malloc函数申请二维动态数组的实例
主要介绍了详解C语言用malloc函数申请二维动态数组的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下


