码迷,mamicode.com
首页 > 其他好文 > 详细

19 内存分配和释放的函数

时间:2017-08-01 20:52:14      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:常用   空间   realloc   calloc   bsp   地址   内存   malloc   参数   

1. malloc,calloc,realloc,free属于C函数库,而new/delete则是C++函数库;

2. 多个-alloc的比较:

    alloc:唯一在栈上申请内存的,无需释放;

    malloc:在堆上申请内存,最常用;

    calloc:malloc+初始化为0;

    realloc:将原本申请的内存区域扩容,参数size大小即为扩容后大小,因此此函数要求size大小必须大于ptr内存大小。

 

 函数原型:void *calloc(size_t n, size_t size); 
功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。 
 
malloc,relloc,calloc,free是C语言的; 
new,delete是C++;
 relloc动态内存调整, 指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。 新的大小可大可小(但是要注意,如果新的大小小于原内存大小,可能会导致数据丢失,慎用!)  

19 内存分配和释放的函数

标签:常用   空间   realloc   calloc   bsp   地址   内存   malloc   参数   

原文地址:http://www.cnblogs.com/dd2hm/p/7270287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!