我有一个包含 500 万行和 4 列的文件。像往常一样,我尝试读取 500 万乘 4 数组中的数据。
long M = 5000000;
double *coordinates[M];
for (i = 0; i < M; i++){
coordinates[i] = (double *) calloc(3, sizeof(double));
}
但是当我运行这段代码时,它有段错误。在网上搜索了答案后,我知道这是因为堆栈没有那么多内存。如果数组是一维的,有人建议使用 malloc 在堆上分配内存。但我需要一个二维数组,我真的需要这么多内存,我希望有人能帮我解决这个问题。非常感谢。