Malloc与Calloc

作者: Laura McKinney
创建日期: 4 四月 2021
更新日期: 10 可能 2024
Anonim
Dynamic memory allocation in C - malloc calloc realloc free
视频: Dynamic memory allocation in C - malloc calloc realloc free

内容

malloc和calloc之间的主要区别在于,malloc仅分配一个请求的内存块,而calloc分配多个请求的内存块。


内存分配是计算机科学中一个非常重要的概念,在计算机编程中,您需要为代码创建一个内存。 Malloc和calloc需要工作参数。 Malloc只需要一个参数,而calloc则需要两个参数。 Malloc和calloc用于C编程,它们用于内存分配和取消分配。动态内存分配是计算机编程中最重要的概念。在编写程序之前,您需要在计算机中分配内存,该内存用于执行。

Malloc是用于分配以字节为单位的内存块的函数。块的大小由用户决定,定义存储块的大小在编写代码之前非常重要。内存的分配由RAM给出。因此,在程序执行时,它会请求RAM分配内存。当您发出请求时,该请求被接受,则malloc函数被认为是成功的并且分配了内存。如果malloc函数无法分配内存,则返回NULL。 malloc函数的工作原理与calloc函数非常相似,因为这两个函数均分配内存分配。 Calloc接受两个参数来请求内存。在calloc中,我们需要分配数据类型的大小。 calloc中的两个arugemnt用逗号隔开。

内容:Malloc和Calloc之间的区别

  • 比较表
  • 分配
  • 分配
  • 关键差异
  • 结论
  • 解释性视频

比较表

基础分配分配
含义malloc仅分配一个单块请求的内存

calloc分配请求的内存的多个块。

 

句法

malloc的语法是

无效* malloc(size_t size);

calloc的语法是

无效* calloc(size_t num,size_t size);

速度Malloc比calloc快Calloc比malloc慢
初始化 malloc()不会清除并初始化分配的内存。通过使用calloc()将分配的内存初始化为零。

分配

Malloc是用于分配以字节为单位的内存块的函数。块的大小由用户决定,定义存储块的大小在编写代码之前非常重要。内存的分配由RAM给出。因此,在程序执行时,它会请求RAM分配内存。当您发出请求时,该请求被接受,则malloc函数被认为是成功的并且分配了内存。如果malloc函数无法分配内存,则返回NULL。


分配

malloc函数的工作原理与calloc函数非常相似,因为这两个函数均分配内存分配。 Calloc接受两个参数来请求内存。在calloc中,我们需要分配数据类型的大小。 calloc中的两个arugemnt用逗号隔开。

关键差异

  1. Malloc只分配一个请求的内存块,而calloc分配多个请求的内存块。
  2. malloc的语法是:void * malloc(size_t size);而calloc的语法为void * calloc(size_t num,size_t size);
  3. Malloc比calloc快,而Calloc比malloc慢。
  4. malloc()不会清除并初始化分配的内存,而使用calloc()会将分配的内存初始化为零。

结论

在上面的这篇文章中,我们看到了malloc和calloc以及with实现之间的明显区别。

解释性视频