理解 C 中的数组初始化
C 中数组初始化的主题可能会令人困惑,特别是在尝试将所有元素初始化为非- 零默认值。在本文中,我们将解决常见问题并提供有效数组初始化的解决方案。
初始值设置
在给定的代码中:
int array[100] = {-1};
期望所有元素都初始化为-1。然而,只有第一个元素被设置为-1;其余元素用一些随机值初始化为 0。这是因为省略的元素被隐式设置为 0。
要将所有元素初始化为 -1,正确的语法是:
int array[100] = {-1, -1, -1, ...};
或者您可以使用 std::fill_n 函数从<算法> header:
std::fill_n(array, 100, -1);
性能比较
默认初始化方法(int array[100] = {-1};)和std::fill_n方法有效地执行数组初始化。虽然默认初始化可能看起来更快,但需要注意的是,它可能依赖于实现,并且不能保证在所有情况下都更快。
对于较大的数组,std::fill_n 方法通常更有效,因为它避免了为每个元素分配创建临时变量。
以上是如何有效地将 C 数组的所有元素初始化为非零值?的详细内容。更多信息请关注PHP中文网其他相关文章!