如何从C中的文件输入大数据

时间:2014-05-20 20:29:33

标签: c

这是我将数据输入数组的一般方式

         for(i=1to size)
        {
            scanf(%d",&a[i]);

      }

如果有大量输入怎么办?就像一个包含100000个数字的文件 和大小从终端

1 个答案:

答案 0 :(得分:2)

int a[size];

您的代码有什么问题。 您通过使用变量为数组分配内存,该变量在堆栈上分配它。如果分配的数量超过了堆栈允许的数量,那么你实现的是...堆栈溢出!

您需要使用malloc()在堆上分配内存。你这样做的方式是:

int * a;
a = malloc(size*sizeof(int));

如果您想了解更多关于malloc,使用它的原因以及如何使用它,谷歌是您的朋友。