在函数中malloc空间做结构指针然后需要把这个指针返回,这种情况可以free吗

如题所述

可以free,没有问题,函数返回的结构指针也是地址,与主程序中申请的是一样的.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-14
这种情况下不可以free,一旦free,这个空间就表示已经释放,其它地方就可以使用了,如果有别的地方使用了,你再继续使用你返回的指针,就会有很大的危险。这种是新手会经常在不经意间发生的错误,而且出了问题之后也较难debug,因为从出现的现象上比较难判断,所以千万别这么做,要free也要等到这个空间使用完毕,不再使用了之后。本回答被提问者采纳
第2个回答  2019-10-13
malloc表示开辟系统空间节点,free表示释放开辟的空间节点,你把它释放了,空间节点就没了,不能释放,等你不再使用这个节点,才可以free
第3个回答  2019-10-13
malloc返回的地址,使用完后必须free,否则将造成内存泄漏。追问

对啊 可是这个指针我要返回给函数的 在函数中malloc的空间怎么返回啊

追答

可以通过函数返回值返回,或者通过指针参数传递出去。

相似回答