读书人

关于free的一些有关问题

发布时间: 2012-05-14 15:24:34 作者: rapoo

关于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的相关次数不确定,要么用变量去记录它!要么用静态全局!

读书人网 >C语言

热点推荐