当前位置:天才代写 > tutorial > C语言/C++ 教程 > c/c++基本--malloc函数

c/c++基本--malloc函数

2017-11-03 08:00 星期五 所属: C语言/C++ 教程 浏览:392

原型:extern void *malloc(unsigned int num_bytes);

用法:#include <malloc.h>

或#include <stdlib.h>

成果:分派长度为num_bytes字节的内存块

说明:假如分派乐成则返回指向被分派内存的指针,不然返回空指针NULL。

当内存不再利用时,应利用free()函数将内存块释放。

malloc的语法是:指针名=(数据范例*)malloc(长度),(数据范例*)暗示指针.

[编辑本段]malloc()函数的事情机制

malloc函数的实质表此刻,它有一个将可用的内存块毗连为一个长长的列表的所谓空闲链表。挪用malloc函数时,它沿毗连表寻找一个大到足以满意用户请求所需要的内存块。然后,将该内存块一分为二(一块的巨细与用户请求的巨细相等,另一块的巨细就是剩下的字节)。接下来,将分派给用户的那块内存传给用户,并将剩下的那块(假如有的话)返回到毗连表上。挪用free函数时,它将用户释放的内存块毗连到空闲链上。到最后,空闲链会被切成许多的小内存片断,假如这时用户申请一个大的内存片断,那么空闲链上大概没有可以满意用户要求的片断了。于是,malloc函数请求延时,并开始在空闲链上翻箱倒柜地查抄各内存片断,对它们举办整理,将相邻的小空闲块归并成较大的内存块。

 

    关键字:

天才代写-代写联系方式