C/C++内存分布:
1.C语言中动态内存管理方式:
malloc/calloc/realloc
共同点:
1.在堆上申请
2.需要手动释放(free())
3.需要强制类型转化
4.需要判空
5.C标准库都需要添加头文件stdlib.h
不同点:
malloc:申请空间,返回值类型:void* malloc(以字节为单位->需要用户手动计算)
calloc: 以字节为单位申请空间并初始化
realloc:对动态开辟空间的大小进行调整
2.C++内存管理方式
- new/delete是操作符,不是函数
- C++中系统提供的内置类型、class定义的类两种类型
2.1 new/delete操作内置类型空间
1.申请、初始化、释放单个元素的空间
int* p1 = new int;//申请一个整型类型的空间
int *p2 = new int(10);//申请一个整型类型的空间并初始化
delete p1;//释放
delete p2;//释放
2.申请连续的空间
int* p3 =