我试图在C中使用桶排序算法实现一些东西,为了让算法工作,我需要手动将数组中的每一项初始化为0,但如果我用calloc
代替,我将得到所有的值初始化为零。
唯一的区别我知道肯定是,通过使用calloc
我把它全部在堆内存-这是一个很大的区别吗?
问题是——这两种方法的优缺点是什么?(性能等)
如果您需要分配和零填充数组,那么调用是最简单的方法。不要让零初始化驱动堆栈或堆分配之间的选择。独立做出选择。
不要纠结于分配和初始化的性能。你在排序。排序将占主导地位。您将无法可靠地度量分配和零初始化。与以往的性能一样,如果您真的想知道,请测量。