可能是重复的问题:
c malloc和calloc之间的区别
在什么情况下,您会更喜欢使用malloc而不是calloc。我知道malloc和calloc都可以动态分配内存,并且calloc还将分配的所有内存位初始化为零。 从这个角度来看,我猜总是最好使用calloc而不是malloc。或者有一些情况下malloc更好吗?性能可能会更好吗?
可能是重复的问题:
c malloc和calloc之间的区别
在什么情况下,您会更喜欢使用malloc而不是calloc。我知道malloc和calloc都可以动态分配内存,并且calloc还将分配的所有内存位初始化为零。 从这个角度来看,我猜总是最好使用calloc而不是malloc。或者有一些情况下malloc更好吗?性能可能会更好吗?
calloc
。malloc
。calloc
和malloc
是执行不同操作的函数:请使用最适合您需要完成的任务的那一个。通常你会分配内存来存储某些内容。这意味着calloc初始化的(至少大部分)空间很快就会被其他值覆盖。因此,多数代码使用malloc
,既能提高一点速度,又不会有实际损失。
我几乎唯一见过calloc的用法是用于测试Java相对于C++的速度。在C++版本中,它使用calloc分配了一些内存,然后使用memset
重新初始化内存,以明显地试图制造偏向Java的结果。