堆和栈是怎么会事,用来干什么用?请大家深刻的帮我讲解一下。

解决方案 »

  1.   

    堆和栈都是内存。局部变量在栈里分配内存,如果用new去分配的话,就是分配堆里的内存。堆的内存需要自己控制,所以new以后要手工的delete
      

  2.   

    内存分配方式
    1。从静态存储区分配,这块内存在程序的整个运行奇都在,例如全局变量,static变量
    2。在栈上创建。函数内部的局部变量
    3。从堆上分配。动态分配的内存,用malloc或new,程序员自己负责free或
    delete,动态内存的生存周期由程序员自己决定,非常灵活。