gpt4 book ai didi

c - 在C中扩展动态内存的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:06 24 4
gpt4 key购买 nike

我正在寻找一种在运行时为现有结构(最初已经分配了内存)分配额外内存(在 C 中)的方法。我觉得我可以使用 memmove或类似的东西,但这仍然只是一个复制操作,并且不会增加运行时结构可用的内存量。此外,我不想每次需要执行此操作时都必须复制整个结构,这将在程序中进行数百次(结构已经很大)。谁能帮忙?

更新:感谢大家的回复。为了提供更多细节,我正在尝试做的是运行一个 MPI 并行代码,该代码最初创建结构的许多实例(称之为“S”)。该结构的每个实例都包含一个数组“T”,它记录代码运行时发生特定事件的时间。这些事件发生在运行时,并且每个 S 实例的事件数量都不同。例如,S[0] 可能会看到 100 个事件(因此需要长度为 100 个元素的数组)但 S[1] 可能只会看到 1事件(和 S[2] 30 事件等)因此,在开始时为 S 的每个实例(有数百万个)分配大量内存将是非常浪费的,因为有些可能会填满数组,而另一些则不会甚至接近。事实上,我已经尝试过了,这对我运行它的机器来说太过分了。

我将在这里尝试一些想法并发布我的进展。非常感谢!

最佳答案

您可能会使用 realloc() .

关于c - 在C中扩展动态内存的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14454663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com