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(要改变内存大小的指针名,新的大小)。 新的大小可大可小(但是要注意,如果新的大小小于原内存大小,可能会导致数据丢失,慎用!)  
posted on 2017-08-01 19:36  王小东大将军  阅读(331)  评论(0)    收藏  举报