内存管理
内存管理
- 内存的本质是什么 ? 资源
- 谁来掌控内存资源 ? 操作系统
- 我们能做什么? 申请和归还
- 申请和释放内存就是内存管理
申请内存
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;
}
学习笔记类