返回值的不正确处理导致的内存泄漏

本文讨论了函数返回动态分配内存的问题及潜在的内存泄漏风险。举例说明了如何由于未能正确跟踪和释放内存导致内存泄漏的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

返回值的不正确处理

有时,某些函数会返回对动态分配的内存的引用。跟踪该内存位置并正确地处理它就成为了 calling 函数的职责。

char *func ( )
{
		return malloc(20); // make sure to memset this location to ‘\0’…
}

void callingFunc ( )
{
		func ( ); // Problem lies here
}

在上面的示例中,callingFunc() 函数中对 func() 函数的调用未处理该内存位置的返回地址。结果,func() 函数所分配的 20 个字节的块就丢失了,并导致了内存泄漏


参考:http://www.ibm.com/developerworks/cn/aix/library/au-toughgame/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值