calloc与malloc

calloc与malloc
www.firnow.com    时间 : 2008-04-26  作者:佚名   编辑:本站 点击:  883 [ 评论 ]
-
-
综合 资源 电子书 社区   calloc与malloc

都是动态分配内存。

void *malloc( size_t size ); //分配的大小

void *calloc( size_t numElements, size_t sizeOfElement ); // 分配元素的个数和每个元素的大小

主要的不同是malloc不初始化分配的内存,calloc初始化已分配的内存为0。

次要的不同是calloc返回的是一个数组,而malloc返回的是一个对象。

此外,要理解好calloc的效率一般是比较低的;

calloc等于malloc后在memset,很可能calloc内部就是一个malloc再来一个memset清0。当然是连续的.

函数calloc()会将所分配的内存空间中的每一位都初始化为零,也就是说,如果你是字符类型或整数类型的元素分配内存,那麽这些元素将保证会被初始化为0;如果你是为指针类型的元素分配内存,那麽这些元素通常会被初始化为空指针;如果你为实型数据分配内存,则这些元素会被初始化为浮点型的零。

 

 

原型:extern void *calloc(int num_elems, int elem_size);

 

  用法:#include <alloc.h>

 

  功能:为具有num_elems个长度为elem_size元素的数组分配内存

 

  说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。

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


文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/c++/cppjs/2008426/111649.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值