关于动态内存管理的问题
我将realloc用在了一个函数当中,如 下图所示函数返回一个指针,在return语句之后用free生效吗?
如果不生效,在return前面用free不就没办法返回指针了吗?
希望有大佬帮忙解答一下 你不光不能free,还得str定义成static,否则返回野指针 永恒的蓝色梦想 发表于 2020-5-4 15:55
你不光不能free,还得str定义成static,否则返回野指针
谢谢谢谢,还真不知道这个知识点 ,那我是不是可以再声明一个char指针保存str,这样str就可以free掉了吧 不用释放str,因为str本来就是指向你想要的数据(因为str是一个指针,所以返回时还是指向原来的地方),一释放掉了不就没有了吗?
要等不用str的时候再释放str 我感觉你要不在函数外部进行free掉 KevinHu 发表于 2020-5-4 16:13
不用释放str,因为str本来就是指向你想要的数据(因为str是一个指针,所以返回时还是指向原来的地方),一 ...
嗯嗯了解了{:10_323:} 4goodworld 发表于 2020-5-4 16:17
我感觉你要不在函数外部进行free掉
感谢解答{:10_310:} 慕容紫小英 发表于 2020-5-4 16:02
谢谢谢谢,还真不知道这个知识点 ,那我是不是可以再声明一个char指针保存str,这样str就可以free掉了吧
在函数外声明一个char指针,作为参数传给函数。
页:
[1]