上图中:内存申请可能失败(比如没有足够的内存可以申请了);
上图中:delete之后一定要把指针设成空,否则会出现很多问题;
申请内存时可以初始化:
int *p = new int(20);
内存失败处理语句:
if(NULL == p)
{
system("pause");
return 0;
}
块内存的初始化可以用数组:
扫描二维码关注公众号,回复:
9437688 查看本文章
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;
}