c++数组能开多大
### 前言在做题时,有时候不知道数组能不能开那么大。那数组的大小如何计算呢?下面来给大家介绍一下c++数组能开多大。
·
前言
在做题时,有时候不知道数组能不能开那么大。那数组的大小如何计算呢?下面来给大家介绍一下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,则是数组大小不够题目要求的数据量或者数组大小超过内存限制的问题。
更多推荐
所有评论(0)