C++如何定义一个长度超过一百万的整型数组
今天在解决一道题的时候,在函数内部定义数组突然脑子抽风多打了几个零(一百万),一运行
——嗯,爆了orz
于是,我翻开了书,但并没有发现哪里有说数组大小限制。
后来找到度娘帮忙
首先明确,数组申明在函数内部,即属于局部变量,是存放在栈上的
其次,栈的默认内存空间为 1 M左右
一百万长度的数组占用的内存大小:1000000=1000 *1000 * 4byte ≈ 4M
int型数据长度为4byte
所以,会导致内存溢出。
要想解决这个问题有两种方法:可以将数组申明在全局存储区或堆上
方法一:申明为全局变量
#include<iostream>
using namespace std;
int list[1000000];
int main()
{...return 0;
}
方法二:存放在堆上
#include<iostream>
using namespace std;
int main()
{int *list;list=new int[1000000];...return 0;
}
总结一下:
- 函数内申请的变量,数组,是在栈(stack)中申请的一段连续的空间。栈的默认大小为2M或1M,开的比较小。
- 全局变量,全局数组,静态数组(static)则是开在全局区(静态区)(static)。大小为2G,所以能够开的很大。
- 而malloc、new出的空间,则是开在堆(heap)的一段不连续的空间。理论上则是硬盘大小。
C++如何定义一个长度超过一百万的整型数组相关推荐
- java 整型数组定义_在Java中定义一个具有10个元素的整型数组a的语句是:___
在Java中定义一个具有10个元素的整型数组a的语句是:___ 答: int [] arr = new int[10] 在借贷记账法下() 答:在账户结构上,"借"和"贷 ...
- C++如何定义一个长度超过一百万的数组
在C++中若要设置长度大于1000000的数组,不能在函数内部声明,因为这样属于局部变量,存放在了栈上,容易造成内存溢出. 解决这个问题有两种办法: 1.将数组声明为全局变量: #include< ...
- 第十四周项目一数组大折腾(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素
问题及代码 创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素 换一行. /*烟台大学计算机学院 201 ...
- 关于《输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整型数组a中》的一点看法
最近刚刚学习了C基础这门课程,作到了这个习题,这个题目要求将字符串中的数字作为整数存放到整型数组中,这个题目有一个特点就是字符串中除了有数字还有非数int字符.看完题目,我顿时来了兴趣. 在一开始我选 ...
- java 定义一个方法,用于比较两个int数组的数字是否相同
定义一个方法,用于比较两个int数组的数字是否相同 分析: 1.定义方法:方法的返回值为boolean类型参数为两个数组(int[] arr1,int[] arr2) 2.比较数组长度是否一样: 3. ...
- C语言编程>第十六周 ⑧ S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度。请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中
例题:S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度.请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中,函数返回数组a的长度. 例如,s=&qu ...
- 12.定义一个集合类SET,处理整型数组。
12.定义一个集合类SET,处理整型数组.通过成员函数重载运算符"==",判断一个数是否属于集合;通 过友元重载运算符"==",判断两个集合是否相同,即集合中的 ...
- c语言学习-定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放
定义一个整型数组a[10],将数组a[10]中的10个元素按逆序重新存放 程序流程图: 代码: #include<stdio.h> void main() { int a[10]; int ...
- int java 声明_怎样用java定义一个int数组 C++ 怎么声明一个整型数组?
导航:网站首页 > 怎样用java定义一个int数组 C++ 怎么声明一个整型数组? 怎样用java定义一个int数组 C++ 怎么声明一个整型数组? 相关问题: 匿名网友: int[] anA ...
最新文章
- C语言优势大揭露,你还在等什么呢?
- Matlab与线性代数 -- 单位矩阵
- 失败的Omni协议与继续前行的虫洞协议
- 软件项目验收汇报ppt_项目验收!万能PPT模板!等你来拿
- php微信使用腾讯地图进行定位,微信定位+腾讯地图导航
- es的doc_value对排序字段的作用
- OpenCV读取RTSP视频流
- 如何在计算机命令内转换操作盘,如何在命令行窗口中从驱动器C切换到驱动器D...
- 编码器分类及原理和测速应用(含代码)
- My Fifty-Seventh Page 递增子序列 - By Nicolas
- shader实现飞线效果(three.js练习)
- 基于小波分解与LSTM的城市轨道短时客流预测
- FlinkSQL JDBC 批处理 java heap space
- HTML+CSS基础训练之实现一个“真实”的网页~
- 团队建设之做好技术团队管理
- 磁盘性能--IOPS和吞吐量
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第二十三集
- 洛谷P5831 Python [USACO19DEC]Cow Gymnastics B
- 如何制作prezi swf格式字体(prezi 中文字体)
- 9款国内外垂直领域的在线作图工具:那些可以替代Visio的应用!