有没有办法在C中制作大小为530000的数组?

问题描述 投票:0回答:1

我目前正在模拟一个相互相互作用的原子的样本。为此,我正在计算它们之间的所有相对距离,以计算力。现在,对于后期分析,我需要为每个时间步长包含所有相对距离的数组。通过在每个时间步骤中以txt形式写入此数组,我将获得巨大的数据集。假设我有4个粒子。然后,阵列的大小应为4 * 3,以避免存储一个粒子与其自身之间的距离。事实是,我有729个粒子,大小为530712,得到的是:“ 返回的过程-1073741571(0xC00000FD)”。我在此数组的声明之后恰好打印了一些东西,除非大小小于250000,否则它不会被打印。有什么建议吗?

c arrays size
1个回答
0
投票

在函数内定义的数组通常位于堆栈上。该大小的数组将溢出堆栈的大小,从而导致您得到错误。

相反,使用malloc动态分配数组。动态分配可能比堆栈所允许的要大得多。

© www.soinside.com 2019 - 2024. All rights reserved.