本文共 335 字,大约阅读时间需要 1 分钟。
应用程序数据所占的内存可以分为三类:静态存储区、栈、堆。
1.在程序运行开始前就分配的存储空间都在静态存储区中;
2.局部变量分配的存储空间在栈中;
3.动态内存分配的存储空间在堆中。
new运算符与delete运算符一起使用,就可以直接进行动态内存的申请和释放。
malloc()、free()和new、delete的不同,前者是函数,后者是运算符。new和delete都是单目运算符,new的操作数是一个数据类型,返回为该类型的变量分配的内存块的指针。
int *ptr=new int;
char *str=new char[10];
delete ptr;
delete [] str;
如果指针为空时,它不指向任何内存单元,释放没有意义,不过这会导致程序出错。
转载地址:http://ynhnn.baihongyu.com/