c-为什么声明长度为int_MAX的int数组会产生分段错误



以下代码在编译和运行时出现分段错误。为什么会这样?

#include <stdio.h>
#include <limits.h>
int main(void)
{
int fat_array[INT_MAX];
return 0;
}

您所请求的是为您分配大约2,147,483,647个整数空间。每个整数通常是四个字节,所以这是8,589,934,588字节,即8GB的内存。这可能超过了允许单个进程保留的内存量,而且有充分的理由,所以您会得到一个错误。

相关内容

  • 没有找到相关文章

最新更新