C++:动态分配内存(malloc,free)
来源:互联网 发布:nginx强制别名访问 编辑:程序博客网 时间:2024/05/20 07:54
介绍
操作系统中存在一个内存管理器(Memory Manager),简称MM,它负责管理内存。
MM提供的服务:应用程序可以向MM申请一块指定大小的内存(借出),用完之后应用程序应该释放(还回)。
如:void* p = malloc(1024);//申请,从MMM借出内存free(p); //释放,还回MM
1.MM管理的内存区域成为堆(Heap)。
2.只要应用malloc,MM都会借出,如应用不归还,MM也不会主动要求你free。如果有个应用不停地malloc,而不free,最终会用光MM的内存。
当MM没有更多闲置内存时,malloc返回NULL,表明内存已经用完。
malloc函数
void* malloc(int size) 参数size:指定要申请内存空间大小 返回值:void*,指向这一块内存地址。(MM不关心你拿这块内存来存储何种数据,所以返回void*)
free函数
void free(void* ptr) 参数ptr: 先前malloc返回的内存地址 返回值: void* ,指向这一块内存地址
使用举例
#include <stdio.h>#include <stdlib.h>#include <string.h>class Object{public:int a;int b;char name[32];};int main(){//申请堆内存Object *object = (Object *)malloc(sizeof(Object));//存放数据object->a = 1;object->b = 5;strcpy(object->name, "wpf");//释放内存free(object);object = NULL; //良好的编程风格return 1;}
欢迎加群交流:C/C++开发交流
扫码关注公众号"CPP开发之路"
阅读全文
1 0
- C++:动态分配内存(malloc,free)
- c 内存动态分配 malloc free calloc realloc
- 动态分配内存malloc free
- 模拟malloc - free 函数动态分配内存
- C_动态分配内存:malloc,realloc,calloc,free
- C笔记 动态分配 malloc,free,calloc,realloc
- C/C++中如何动态分配内存(new/delete malloc/free 区别联系)
- 动态分配malloc realloc free
- 动态分配内存函数——calloc,free,malloc,realloc
- 动态分配内存malloc函数
- malloc()动态分配内存
- C语言 利用malloc()和realloc()动态分配内存
- C语言:动态分配内存,malloc()与realloc()区别
- C语言:使用malloc()和calloc()动态分配内存
- 指针--内存 malloc free
- malloc free内存分配
- 动态分配内存 malloc、calloc、realloc
- 动态分配内存malloc()函数
- spring基础
- 好久没敲代码了(强行补上今天的博客。。。)
- 学习struts2框架
- userbean 那一节的代码 待定啊
- Python3播放MP3(支持MAC,WIN,LINUX)
- C++:动态分配内存(malloc,free)
- 获取本机IP地址(Java版本)
- 双系统时ubuntu更改开机引导
- Java异常处理
- linux基本服务之sshd
- Python:把二叉树打印成多行
- Linux源码安装Gitblit
- win32控制台应用程序不显示窗口启动
- 51nod 1134 最长递增子序列