C++动态内存操作

来源:互联网 发布:webpack搭建php服务器 编辑:程序博客网 时间:2024/05/17 07:40

应用程序数据所占的内存可以分为三类:静态存储区、栈、堆。

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;

如果指针为空时,它不指向任何内存单元,释放没有意义,不过这会导致程序出错。


0 0
原创粉丝点击