由于c中的数组大小而导致堆栈溢出

时间:2014-11-20 12:07:46

标签: c visual-studio exception stack-overflow

在逐行读取某些日志文件的函数中, 有一个数组,声明如下:

arrays[process][lines][line size]

日志文件中的行数不超过(处理*行)。 该文件中的每一行都不超过(行大小)长度。

如果它读取一个小文件,例如30kb,程序运行良好, hovewer,当它读取更大的文件,80kb, 该程序甚至在main之前抛出堆栈溢出异常。 所以它看起来像这样:

char arrays[150][2][2048] // ok, with 30kb file
char arrays[500][2][2048] // stack overflow exception, with 80kb file

为什么会发生这种异常?

PS:我正在使用visual studio 2013,语言是C

0 个答案:

没有答案