大数组大小的分段错误

新手上路,请多包涵

以下代码在 2Gb 机器上运行时出现分段错误,但在 4GB 机器上运行。

 int main()
{
   int c[1000000];
   cout << "done\n";
   return 0;
}

数组的大小只有 4Mb。可以在 c++ 中使用的数组的大小是否有限制?

原文由 Mayank 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 740
1 个回答

可能还有另一种对我有用的方法!您可以通过更改数组的数据类型来减小数组的大小:

     int main()
        {
        short c[1000000];
        cout << "done\n";
        return 0;
        }

或者

  int main()
  {
      unsigned short c[1000000];
      cout << "done\n";
      return 0;
  }

原文由 Rahul Bhardwaj 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题