为什么大数组要开在main()外?


answer: 运行代码时,操作系统会开辟不同的内存空间存放不同数据

  1. 栈区:由操作系统自动分配、释放,用来存放函数的参数值,局部变量的值,不需要时系统会自动清除
  2. 堆区:由new分配的内存块,由应用程序控制,程序员可以free掉,程序运行结束由操作系统自动回收
  3. 数据区:也称全局区或静态区,用来存放全局对象
  4. 代码区:用来存放执行代码

如果在main()函数里定义初始化大型数组,由于main()函数里的变量一般是被存放在栈区,而栈区内存较小,很容易爆掉
但开在数据区就比较安全,因为数据区的内存空间比较大