new和delete的使用
#include"stdio.h"
#include"stdlib.h"
//new 和 delete
//作用就是在c++中向系统申请堆区的内存空间的
//new的作用相当于C语言当中的malloc
//delete的作用相当于C语言当中的free
int main()
{
//int *p = (int*)malloc(sizeof(int));
//int** p1 = new int*;
//申请1个int类型大小的空间 但是还没有存数据
//int* p = new int;
//*p = 10;//初始化为10
//printf("%d\n", *p);
//delete p;//释放的是单个内存
//p = NULL;
////double*类型的指针 和 int*类型的指针 都是四个字节 内存大小一样大
//申请1个int类型大小的空间 初始化为10
//int* p = new int(10);
//申请10个int类型大小的空间 没有初始化
int* p=new int[10];
//此时的p相当于数组名
for (int i = 0; i < 10; i++)
{
p[i] = i + 1;
}
for (int i = 0; i < 10; i++)
{
printf("%d ", p[i]);
}
delete[]p; //释放连续的多个内存
p = NULL;
//申请内存
return 0;
}
C++中的new和delete操作详解
这篇博客详细介绍了C++中的动态内存管理,重点讨论了new和delete关键字的使用。new用于在堆上分配内存,等同于C语言中的malloc,而delete则用于释放内存,对应C语言中的free。示例代码演示了如何动态分配单个和多个整型变量,并进行初始化及内存释放。通过循环对分配的内存空间进行赋值和打印,强调了正确使用delete[]来释放连续内存的重要性。
3607

被折叠的 条评论
为什么被折叠?



