内存分配方式有三种:
1.从静态存储区域分配:内存在程序编译的时候就已经分配好了,这块内存在程序整个运行周期内都存在,例如:全局 变量、static变量;
2.在栈上创建内存:在函数执行时,函数内的局部变量的存储单元都可以在栈上创建,函数调用结束时这些存储单元会 被自动释放。栈内存分配预算内置于处理器的指令集合中,效率很高,但是能够分配的内存容量有限;
3.在堆上分配内存:动态内存分配,程序在运行时调用malloc或者new申请任意多的内存,程序员需要自己负责在什么 时候调用free和delete来释放使用完的内存,动态内存的生命周期有程序员决定,使用起来非常灵活。