malloc()和calloc()有啥区别

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:24:56
C语言中的

malloc和calloc函数在参数个数、初始化内存空间、函数返回值上有区别:

1、参数个数上的区别:

malloc函数:malloc(size_t size)函数有一个参数,即要分配的内存空间的大小。

calloc函数:calloc(size_t numElements,size_t sizeOfElement)有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。

2、初始化内存空间上的区别:

malloc函数:不能初始化所分配的内存空间,在动态分配完内存后,里边数据是随机的垃圾数据。

calloc函数:能初始化所分配的内存空间,在动态分配完内存后,自动初始化该内存空间为零。

3、函数返回值上的区别:

malloc函数:函数返回值是一个对象。

calloc函数:函数返回值是一个数组。

参考资料来源:malloc()和calloc()有啥区别 malloc()和calloc(),为什么malloc用的多? malloc and calloc; dynamically and statically 请问C语言中的stdio,malloc,calloc,realloc是什么的简写? 请教malloc和rand的一个问题 malloc和remalloc是啥意思 有关calloc的问题 malloc函数 malloc问题 请问new/delete和malloc/free有什么区别?具体点!