您的位置:首页 > 编程语言 > C语言/C++

c++之内存管理

2016-08-04 19:03 120 查看

内存管理

内存管理

内存的本质是什么 ? 资源

谁来掌控内存资源 ? 操作系统

我们能做什么? 申请和归还

申请和释放内存就是内存管理

申请内存

int *p = new int;
delete p; //new 和delete 是运算符


内存块

int *arr = new int[10];
delete []arr;


c 语言的申请释放方式

viod *malloc(size_t size);
void free(viod *memblock);


注意事项

int *p = new int[100];
if(p == NULL)
{
失败
}
delete p ;
p = NULL; //释放后指针任然指向该内存,不小心调用会出现异常


new、delete 配套使用

malloc、free 配套使用

申请内存判断是否成功

释放后置空

code

#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str = new char[20];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello world");
//打印字符串
cout << str <<endl;
//释放内存
delete []str;
str = NULL;
return 0;
}


学习笔记类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: