C语言中动态分配内存是如何实现的?

2026-05-08 16:562阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计460个文字,预计阅读时间需要2分钟。

C语言中动态分配内存是如何实现的?

介绍+操作系统中有一种内存管理者(Memory Manager)简称MM,负责管理内存。MM提供的服务:应用程序可以向MM申请一块指定大小的内存(借用),用完后应释放(归还)。

介绍

C语言中动态分配内存是如何实现的?

操作系统中存在一个内存管理器(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*,指向这一块内存地址。

阅读全文
标签:介绍

本文共计460个文字,预计阅读时间需要2分钟。

C语言中动态分配内存是如何实现的?

介绍+操作系统中有一种内存管理者(Memory Manager)简称MM,负责管理内存。MM提供的服务:应用程序可以向MM申请一块指定大小的内存(借用),用完后应释放(归还)。

介绍

C语言中动态分配内存是如何实现的?

操作系统中存在一个内存管理器(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*,指向这一块内存地址。

阅读全文
标签:介绍