C语言指针函数中遇到一个这样的问题:子函数中malloc了一个指针存储数据,作为该子函數的返回值return到主函数。
显然不能在子函数里释放否则返回值没有意义。这样就应该在主函数里释放主函数里申请一个指针,指向这個返回值使用之后释放。
更好的做法:在主函数里申请一段内存空间初始化为0,传入子函数中对数据进行修改不设返回值。该指针指向的数据传回主函数使用使用完毕后释放。谁申请谁释放比较清晰。
C语言指针函数中遇到一个这样的问题:子函数中malloc了一个指针存储数据,作为该子函數的返回值return到主函数。
显然不能在子函数里释放否则返回值没有意义。这样就应该在主函数里释放主函数里申请一个指针,指向这個返回值使用之后释放。
更好的做法:在主函数里申请一段内存空间初始化为0,传入子函数中对数据进行修改不设返回值。该指针指向的数据传回主函数使用使用完毕后释放。谁申请谁释放比较清晰。
库函数返回的指针都不用释放它们返回嘚指针都是你调用时传递的指针,或者是全局唯一的内存不会造成内存泄漏,在相关文档中作特殊说明的除外
你对这个回答的评价是?
strstr显然不需要 你看它功能就知道了。 只有那种多分出一些存储空间的才可能需要 至于具体需要不需要还是看文档
你对这个回答的评价昰?
你可以在main()函数里先malloc一片内存,完了把这片内存做为形参传递给函数内部然后函数内部去操作这片内存空间就好了!
你对这个回答的评价是?
前提是这个指针使用malloc、realloc、calloc动态申请来的当你不使用这个指针时,就释放掉在什么地方释放都是可以的,关键是这个指针没有被修改过
你对这个回答的评价昰
你对这个回答的评价是?
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。