C++:内存管理

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
上图中:内存申请可能失败(比如没有足够的内存可以申请了);


在这里插入图片描述
上图中:delete之后一定要把指针设成,否则会出现很多问题;


申请内存时可以初始化:

int *p = new int(20);

内存失败处理语句:

if(NULL == p)
{
	system("pause");
	return 0;
}

块内存的初始化可以用数组:

int *p = new int[100];
p[0]=10;
p[1]=20;

单元巩固:

在堆中申请100个char类型的内存,拷贝Hello imooc字符串到分配的堆中的内存中,打印字符串,最后释放内存。

#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
    //在堆中申请100个char类型的内存
    char *str = new char[100];
    //拷贝Hello C++字符串到分配的堆中的内存中
	strcpy(str, "Hello imooc");
    //打印字符串
    for(int i=0;i<11;i++)
    {
        cout<<str[i];
    }
    //释放内存
	delete []str;
    str=NULL;
	return 0;
}
发布了39 篇原创文章 · 获赞 54 · 访问量 2099

猜你喜欢

转载自blog.csdn.net/qq_42745340/article/details/104507517