堆与栈

容量大小问题

一般而言,局部变量是放在栈中,全局变量是放在堆中,栈相比堆更小些
栈的大小通常为1M或2M,堆的大小为2G。
不同环境所能开的到的最大空间有所差异
int :4个字节
char:1个字节
long long:8个字节
本人环境下,int q[30000][30000];二维数组可以开到3000030000.
建议要使用的大容量多维数组放在全局位置(存储在堆中)
注意的是static int q[30000][30000]和全局变量同样是储存在堆中。
如定义在栈中的int a[800][800];
计算公式:800
800*sizeof(int)/1024=2.5M>2M,栈溢出了,所以得改为全局或是容器的嵌套来使用。

写多了代码,渐渐你会发现,自己所记住的知识点还不如实践下来得快。
说来惭愧,本人调试方面学得不好,学会了如何自主高效调试才能够更好地面对大数据大容量问题。
共勉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值