小编学习分享:计算机学习网
c++中的动态内存分配:
C语言中:
malloc realloc calloc 堆里面分配 返回void 万能指针
free释放
C++ 语言中:
new delete
//分配堆内存
类型*指针名 =new 类型;
类型*指针名 =new 类型(值);
//释放堆内存
delete 指针名;
定义一个结构体 Date 字段是整数类型的年 月 日 要求使用new 申请一个结构体大小的空间
给块空间赋值2014 7 7输出这块空间对应的值 最后释放空间
new[] delete[];
申请多个元素空间
类型*指针名 =new 类型名[n];
int *parr =new int [10];
delete[] parr; /*析构函数*/
申请5个整数 对于的堆内存 然后给这块空间赋值 9 5 2 7 0
最后输出这块空间的内容
最后释放这块空间的内存
定位内存分配:
char data[100];
int *pai=new (data)int[25];
data 和pai 指向相同的空间
pai不用DELETE 栈里面自动释放,无内存泄漏