您的位置:首页 > 其它

用calloc()函数分配内存

2009-08-04 17:28 197 查看
用calloc()函数分配内存

   calloc函数原型:

   void  *calloc(size_t  num_elements, size_t  element_size);

 

在<stdlib.h>头文件中声明的calloc()函数与malloc()函数相比有两个优点。第一,它把内存分配为给定大小的数组,第二,它初始化了所分配的内存,所有的位都是0。calloc()函数需要两个参数:数组的元素个数和数组元素占用的字节数,这两个参数的类型都是size_t。该函数也不知道数组元素的类型,所以所分配区域的地址返回为void *类型。

下面的语句使用calloc()为包含75个int元素的数组分配内存:

   int *p = ( int  *) calloc(75, sizeof( int ) );

如果不能分配所请求的内存,返回值就是NULL,也可以检查分配内存的结果,这非常类似于malloc(),但calloc()分配的内存区域都会初始化为0。

 

总结:这个初始化常常能带来方便,也直观,但是,如果程序只想把一些值存储到数组中,那么这个初始化纯属浪费时间!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null 存储