这本质上是我的问题。在一个函数的生命周期中,我生成一些整数,然后在一个算法中使用整数数组,该算法也是同一函数的一部分。整数数组只会在函数内使用,因此将数组存储在堆栈上自然是有意义的。
问题是在生成所有整数之前我不知道数组的大小。
我知道如何在堆栈上分配固定大小和可变大小的数组。但是,我不知道如何在堆栈上增加数组,这似乎是解决我的问题的最佳方法。我相当确定这在汇编中是可能的,您只需增加堆栈指针并为每个生成的 int 存储一个 int,因此 int 数组将位于堆栈帧的末尾。这在 C 中可以做到吗?
最佳答案
我不同意您的断言“将数组存储在堆栈上自然是有意义的”。堆栈内存实际上是为您在编译时知道大小时而设计的。我认为动态内存是解决问题的方法
关于c - 在堆栈上增长数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026370/