-
1、从静态存储区域分配:内存在程序编译的过程中就已经分配好,这些内存在程序的整个运行期间都存在,如全局变量和static变量;且静态数据区内所有的字节默认值都是0x00,如static int i;i的值在程序编译完后值为0。
-
2、在栈上创建:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数运行结束后这些存储单元会被自动释放,这里函数的return语句注意不要返回指向“栈内存”的指针或者引用。内存栈分配效率高,但内存数量有限。
-
3、在堆上分配:也可以叫动态内存分配。程序在运行过程中用malloc和new申请任意大小的内存,自己负责在何时用free或者delete释放内存,内存的存在周期由自己决定。
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交