gpt4 book ai didi

c - 函数外释放内存

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:17 24 4
gpt4 key购买 nike

这是正确的吗,它会在 C 中泄漏内存吗?

unsigned char * prep( int length,int args, ... )
{
unsigned char *message = (unsigned char *) malloc(length );

va_list listp;
va_start( listp, args );

int i = 0;
int len = 0;
unsigned char *source_message ;
int step = 0;
for( i = 0 ; i < args; i++ )
{

source_message = va_arg( listp, unsigned char *);
len = va_arg( listp, long);
memcpy(message+step, source_message, (long) len);
step+=len;

}
va_end( listp );
return message;
}

比调用它并释放外面的指针

unsigned char *mess = prepare_packet_to_send(some vars here);
free(*mess);

最佳答案

没错,它会泄漏内存。不过,只要您记得释放该函数的返回值,就没问题。

关于c - 函数外释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com