首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于free的一些有关问题

2012-05-14 
关于free的一些问题本来malloc之后是一定要free的但我目前的情况是这样:我有一个函数func,返回一个结构体

关于free的一些问题
本来malloc之后是一定要free的
但我目前的情况是这样:
我有一个函数func,返回一个结构体指针(每次调用这个函数都会malloc一个结构体指针)
这个返回的指针在代码里面被广泛使用,因此不能轻易free
用户进行一定的操作之后,又会调用func,因此又会执行malloc操作(如果用户执行这个操作许多次,就会执行func里的malloc许多次T_T)
我要怎样才能free掉不造成内存泄露呢?
难道要在每次调用func之前free掉上一次malloc的内存吗?
请教各位大侠~
感觉这好像是个逻辑问题……汗


[解决办法]
返回的那个指针,当使用结束后,free掉,不一定非得在Fun中free
[解决办法]

探讨

返回的那个指针,当使用结束后,free掉,不一定非得在Fun中free

[解决办法]
使用者 必须十分清楚func返回的指针所指向内存的生命周期,
[解决办法]
变量被大部分代码段共享,那么静态全局也是一个笨方法!虽然不太好,但是你要是对malloc 和 free的相关次数不确定,要么用变量去记录它!要么用静态全局!

热点排行