void *ptr realloc(ptr, new_size);

  if (!ptr{

    // 错误处理

   }

使用误区,返回指针可能是原来的,也可能不是原来的,如果上面这种,可能导致内存泄露。

另外使用时,需要判断new_size的值,如果new_size为0 ,那么相当于把ptr给free掉了,不能再次进行free了,防止double free.

 

posted on 2021-10-05 19:55  redman274  阅读(33)  评论(0编辑  收藏  举报