【发布时间】:2013-11-13 11:50:52
【问题描述】:
我正在用 C 语言制作一个 3D 数组程序。
当我输入[31][11][99] 时,代码运行良好。
但是当我输入[31][11][999] 时,代码没有运行。
是因为array size ??
如果是这个原因.. 那么 C 语言中 3D array 程序的最大数组大小是多少。
【问题讨论】:
-
你真的需要给我们更多的信息。没有最大值,并且不是因为数组大小,无论“它”是什么。它编译了吗?
-
我们需要看到代码才能评论。
-
检查系统的最大堆栈大小,看看您的阵列是否超过它
-
自动变量(堆栈分配)的存储限制是特定于实现的。从理论上讲,即使像
int arr[10];这样小的东西也可能无法分配内存。但在实践中,如果您对堆栈帧大小有合理的了解,您应该没问题。更大的堆栈分配的问题是没有简单的方法来检测分配失败。如果您甚至认为您可能超过堆栈限制,您可能应该动态分配内存。相关:Why does C not define minimum size for an array? -
数组没有限制
标签: c multidimensional-array max-size