可能重复:
C 编程,为什么这个大数组声明会产生分段错误?
我正在阅读 c 语言中的图像,但我无法这样做,因为我的程序在两者之间停止...调试后我发现这是由于数组大小...对数组的最大大小有任何限制吗?如果我声明大小为 1400X1400 的数组一切正常,但如果我定义大小为 1600X1400 的数组,我的程序将停止工作......为什么会这样......编译器或操作系统对数组大小有任何限制吗?如果是这样,c 中的解决方案是什么。
unsigned char idata[1400][1400]; //working fine
unsigned char idata[1600][1400]; //not working