c - 在尝试分配新内存之前是否重新分配?
问题描述
我在这里的锻炼遇到了麻烦-我想更多地了解 realloc 函数-
如果我们发送一个指向 realloc 的指针,但它分配内存失败 [返回 null] 以前分配的内存现在被释放了吗?虽然我们失败了?
ePointer = (Element*)realloc(stack->content, (sizeof(Element) * capacityOfStack(stack) * 2));
当然,当 stack->content
作为指针时,如果我们现在失败了 ePointer
as NULL
,那么 stack->content
就不再分配了吗?
非常感谢!!
解决方案
从man
页面realloc
:
For realloc(), the input pointer is still valid if reallocation failed.
推荐阅读
- jquery - Jquery 未在 GitHub 页面中加载,但在 CodePen 中很好
- android - super.onCreate(savedInstanceState); 不会立即调用父类的 onCreate() 方法。为什么?
- mysql - MYSQL:如何对数字 DESC 进行排序,加值最高
- ios - 你还能在 Xcode 10.1 的应用商店上发布用 Swift 3 编写的应用吗?
- autohotkey - 一旦活动窗口不再是所需的窗口,如何停止脚本
- python - 预期dense_input的形状为(7,),但得到的数组形状为(1,)
- php - 根据条件过滤数组元素
- mysql - 检索满足第一个表条件的所有值
- javascript - Node.js 和 Express - 最简单的缓存方法
- flutter - 如何在 google_maps_flutter 中启用 MyLocationEnabled 时删除按钮