算法与数组

在算法中,我们常常会用到数组来存储我们的数据,但是却有时候因为数据大小超出数组上限导致爆内存。
那么,到底,数组是上限是多少?

我们在不同的作用域中,数组的大小是不同的
如果是在栈中,数组的大小是1M或者2M
假如定个整型,则数组大小因为1024*1024/4

但是如果是在全局作用域中(static),则会开的很大,大概是分配到2G左右。
定个整型,换算一下是102410241024/4个大小的数组

补充:
1.new/malloc这些操作是在堆上进行的,理论上是硬盘的大小。
2.动态数组是在设定的n初始化完成后,在声明的。
如 int n ;
scanf("%d",&n);
int a[n];

猜你喜欢

转载自www.cnblogs.com/life-jounary/p/12307321.html