calloc和malloc之间有什么区别,后面跟着一个memset?

Jay*_*Jay 2 c malloc calloc

可能重复:
c malloc和calloc之间的区别
为什么malloc + memset比calloc慢?

calloc和malloc之间有什么区别,后面跟着一个memset?如果我用malloc替换所有对calloc的调用,后跟memset,它会是一样吗?

如果是这种情况,那么为什么单独提供两个函数malloc&calloc?

Ja͢*_*͢ck 12

虽然calloc()始终使用零('\0')初始化内存区域,但memset()调用允许您选择要用哪些字节填充内存.

就速度而言,如果需要将存储器清零,calloc()则速度可能快于malloc()+ memset(); malloc()更快地返回未初始化的内存但仍需要额外调用memset().

基本上,如果你想把内存归零,请使用calloc(); 如果你想保持未初始化,请使用malloc().