Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么int数组[1000][1000]是C程序中的内存问题?_C - Fatal编程技术网

为什么int数组[1000][1000]是C程序中的内存问题?

为什么int数组[1000][1000]是C程序中的内存问题?,c,C,为什么C程序中的int数组[1000][1000]在main方法中声明而不是全局声明时会出现内存问题?堆栈的大小有限,因此只能保存有限的信息量。如果程序试图在堆栈上放置太多信息,将导致堆栈溢出。当堆栈中的所有内存都已分配时,会发生堆栈溢出 节目 int main() { int array[1000][1000]; return 0; } 尝试在堆栈上分配一个大数组。 由于堆栈不够大,无法处理此数组,因此数组分配溢出到程序不允许使用的内存部分。因此,程序崩溃 进一步阅读:

为什么C程序中的
int数组[1000][1000]
main
方法中声明而不是全局声明时会出现内存问题?

堆栈的大小有限,因此只能保存有限的信息量。如果程序试图在堆栈上放置太多信息,将导致堆栈溢出。当堆栈中的所有内存都已分配时,会发生堆栈溢出

节目

int main()
{
    int array[1000][1000];
    return 0;
}  
尝试在堆栈上分配一个大数组。
由于堆栈不够大,无法处理此数组,因此数组分配溢出到程序不允许使用的内存部分。因此,程序崩溃



进一步阅读:。

堆栈的大小有限,因此只能保存有限的信息量。如果程序试图在堆栈上放置太多信息,将导致堆栈溢出。当堆栈中的所有内存都已分配时,会发生堆栈溢出

节目

int main()
{
    int array[1000][1000];
    return 0;
}  
尝试在堆栈上分配一个大数组。
由于堆栈不够大,无法处理此数组,因此数组分配溢出到程序不允许使用的内存部分。因此,程序崩溃



进一步阅读:。

在大多数系统上,这通常需要4MB的堆栈空间,因此在某些情况下会失败,因为堆栈大小可能从几kB到几MB不等。在大多数系统上,这通常需要4MB的堆栈空间,所以在某些情况下会失败,因为堆栈大小可能从几kB到几MB不等。哦,是的,谢谢-保罗R和哈奇克是的,谢谢-保罗R和哈奇克