C语言中遇到一个这样的问题:子函数中malloc了一个指针存储数据,作为该子函数的返回值,return到主函数。
那么这个指针应该在哪里释放呢?
显然不能在子函数里释放,否则返回值没有意义。这样就应该在主函数里释放,主函数里申请一个指针,指向这个返回值,使用之后释放。
更好的做法:在主函数里申请一段内存空间,初始化为0,传入子函数中对数据进行修改,不设返回值。该指针指向的数据传回主函数使用,使用完毕后释放。谁申请谁释放,比较清晰。
C语言中遇到一个这样的问题:子函数中malloc了一个指针存储数据,作为该子函数的返回值,return到主函数。
那么这个指针应该在哪里释放呢?
显然不能在子函数里释放,否则返回值没有意义。这样就应该在主函数里释放,主函数里申请一个指针,指向这个返回值,使用之后释放。
更好的做法:在主函数里申请一段内存空间,初始化为0,传入子函数中对数据进行修改,不设返回值。该指针指向的数据传回主函数使用,使用完毕后释放。谁申请谁释放,比较清晰。