C中最大尺寸的二维阵列

时间:2014-05-05 12:50:14

标签: c arrays multidimensional-array segmentation-fault

在我的C程序中,当我拿这样的数组时

int a[100000][100000];

我遇到了分段错误。现在如果我使用的大小小于1000 * 1000的数组,就像这样

int a[1000][1000];

我没有遇到任何问题。在我的程序中,我需要使用10 ^ 5 * 10 ^ 5阵列。我该怎么做才能解决它。

1 个答案:

答案 0 :(得分:1)

使用malloc动态分配它。通过静态声明它,您可以使用堆栈,堆栈具有堆(在动态分配中使用)的最大大小。

int *pointer = malloc (sizeof (*pointer) * (100000*100000));

然后,要访问它,请使用索引来表示xy坐标。