前言

在做题时,有时候不知道数组能不能开那么大。那数组的大小如何计算呢?下面来给大家介绍一下c++数组能开多大。


讲解

一般情况下,char\text{char}char占1个字节,int\text{int}int占4个字节,long long\text{long long}long long占8个字节。

128MB128\text{MB}128MB来举例。

128MB=131072KB=134217728B128\text{MB}=131072\text{KB}=134217728\text{B}128MB=131072KB=134217728B

也就是说,128MB128\text{MB}128MB的内存理论上最多可以开134217728B134217728\text{B}134217728B的数组。

  • char\text{char}char的一维数组可以开134217728134217728134217728的长度
  • int\text{int}int的一维数组可以开335544323355443233554432的长度
  • long long\text{long long}long long的一维数组可以开167772161677721616777216的长度

当然,因为代码的其他地方也需要内存,所以不能开满,还要留一部分。如果RE\text{RE}RE,则是数组大小不够题目要求的数据量或者数组大小超过内存限制的问题。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐