文章目录
内存分布
- 栈:又叫做堆栈–非静态局部变量/函数参数/返回值等,栈是向下增长的
- 内存映射段:是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可以使用系统接口创建共享内存,做进程间通信。
- 堆:用于程序运行时内存分配,堆是可以向上增长的。
- 数据段:存储全局数据和静态数据
- 代码段:可执行的代码/只读常量
C语言中动态内存管理方法
- malloc
- calloc
- realloc
- free
C++内存管理
C++除了继承了C语言的动态内存管理方式,还提出了自己的内存管理方式:new和delete。
new/delete操作内置类型
申请和释放单个元素空间
//申请一个int类型的空间,空间大小为4
int* t1 = new int;
//申请一个int类型的空间,空间大小为4,初始化为10
int* t2 = new int(10);
//销毁一个int类型的单个元素的空间
delete t1;
delete t2;
申请和释放连续元素空间
//申请一个int类型的空间,空间大小为4*10
int* t3 = new int[10];
//申请一个int类型的空间,空间大小为4*10,并且进行初始化
//前三个元素空间初始化为1,2,3,后面的全面初始化为0
int* t4 = new