首页 > 解决方案 > 在尝试分配新内存之前是否重新分配?

问题描述

我在这里的锻炼遇到了麻烦-我想更多地了解 realloc 函数-

如果我们发送一个指向 realloc 的指针,但它分配内存失败 [返回 null] 以前分配的内存现在被释放了吗?虽然我们失败了?

ePointer = (Element*)realloc(stack->content, (sizeof(Element) * capacityOfStack(stack) * 2));

当然,当 stack->content作为指针时,如果我们现在失败了 ePointeras NULL,那么 stack->content就不再分配了吗?

非常感谢!!

标签: crealloc

解决方案


man页面realloc

    For realloc(), the input pointer is still valid if reallocation failed.

推荐阅读