【问题标题】:Why cant you resize array in C using malloc? [closed]为什么不能使用 malloc 调整 C 中的数组大小? [关闭]
【发布时间】:2019-03-13 16:34:10
【问题描述】:

我知道 malloc 允许您通过为其分配空间来调整任何您想要的大小。但是为什么这不适用于在 C 中调整数组的大小?

【问题讨论】:

  • 为什么螺丝刀不适合钉钉子?
  • 什么意思?显示您认为应该有效但实际上无效的代码。
  • 函数malloc 不允许你“调整任何东西的大小”。它动态分配内存。然后函数realloc 允许您调整它的大小。但是因为没有从malloc得到数组,所以不能调整大小。
  • 数组在栈上。 malloc 操作堆上的内存。 (在存在这些东西的环境中。有时。(通常))
  • @WilliamPursell 数组不仅存在于堆栈中。

标签: c arrays malloc


【解决方案1】:

malloc 用于分配内存而不是调整大小。如果你想调整大小检查realloc

【讨论】:

  • realloc 实际上也可以用于分配内存
猜你喜欢
  • 2021-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多