内存分配模块相关

(1)Malloc内存分配

malloc函数,函数原型是void* malloc(unsigned int num_bytes);

内存空间大小是需要用户手动设定,不会对申请的内存空间的值进行初始化,所以使用过程中效率会比较高,所以当我们的软件不需要用不同编译器编译时,分配内存主要使用该函数。

(2)Calloc内存分配

calloc函数,函数原型是void* calloc(size_t n, size_t size);

系统可以计算用户想要的内存空间大小,会将内存空间的值进行初始化,所以使用过程中的效率会比较低下,一般只有软件需要用不同编译器进行编译时才会用到该函数。

(3)Realloc内存分配

realloc函数,函数原型是void* realloc(void* ptr, size_t new_Size);

用于对动态内存进行扩容(当申请的动态空间不够使用时,进行空间扩容操作),参数ptr指向原来空间基地址的指针,new_size是需要扩容的空间大小

(4)Valloc内存分配

valloc函数,函数原型void* valloc(size_t size);

需要手动指定分配的内存空间大小,使用getpagesize() 获取的页大小作为对齐长度,使用memalign分配内存。实现如下所示:

 

(5)free释放内存

free函数,函数原型void* free(void *ptr);

该函数用来释放calloc、malloc、realloc所分配的内存空间,如果释放的是一个未分配内存的空指针,则不会执行任何操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值