void *ptr = realloc(ptr, new_size);
if (!ptr) {
// 错误处理
}
使用误区,返回指针可能是原来的,也可能不是原来的,如果上面这种,可能导致内存泄露。
另外使用时,需要判断new_size的值,如果new_size为0 ,那么相当于把ptr给free掉了,不能再次进行free了,防止double free.
2023-10-24 10:21:10
void *ptr = realloc(ptr, new_size);
if (!ptr) {
// 错误处理
}
使用误区,返回指针可能是原来的,也可能不是原来的,如果上面这种,可能导致内存泄露。
另外使用时,需要判断new_size的值,如果new_size为0 ,那么相当于把ptr给free掉了,不能再次进行free了,防止double free.