前言

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


讲解

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

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

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

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

  • char \text{char} char的一维数组可以开 134217728 134217728 134217728的长度
  • int \text{int} int的一维数组可以开 33554432 33554432 33554432的长度
  • long long \text{long long} long long的一维数组可以开 16777216 16777216 16777216的长度

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐