0

我正在尝试使用 C 中的 Bucket Sort 算法来实现某些东西,因此为了使算法正常工作,我需要手动将数组中的每个项目初始化为零,但如果我会calloc改用,我会得到所有无论如何初始化为零的值。

我确定的唯一区别是,通过使用calloc我将所有内容都放在堆内存中 - 这是一个很大的区别吗?

问题是——这两种方式的优缺点是什么?(性能等)

4

1 回答 1

1

如果您需要分配和零填充数组,那么 calloc 是最简单的方法。不要让零初始化驱动堆栈或堆分配之间的选择。独立做出选择。

不要挂断分配和初始化的性能。你在排序。排序将占主导地位。您将无法可靠地测量分配和零初始化。与性能一样,如果您真的想知道,请测量。

于 2013-04-14T23:43:28.527 回答