容量大小问题
一般而言,局部变量是放在栈中,全局变量是放在堆中,栈相比堆更小些
栈的大小通常为1M或2M,堆的大小为2G。
不同环境所能开的到的最大空间有所差异
int :4个字节
char:1个字节
long long:8个字节
本人环境下,int q[30000][30000];二维数组可以开到3000030000.
建议要使用的大容量多维数组放在全局位置(存储在堆中)
注意的是static int q[30000][30000]和全局变量同样是储存在堆中。
如定义在栈中的int a[800][800];
计算公式:800800*sizeof(int)/1024=2.5M>2M,栈溢出了,所以得改为全局或是容器的嵌套来使用。
写多了代码,渐渐你会发现,自己所记住的知识点还不如实践下来得快。
说来惭愧,本人调试方面学得不好,学会了如何自主高效调试才能够更好地面对大数据大容量问题。
共勉。