gpt4 book ai didi

c - 遍历一个空白数组可以吗,还是我应该先输入一个值?

转载 作者:行者123 更新时间:2023-12-04 10:54:20 28 4
gpt4 key购买 nike

在遍历数组之前是否需要将值存储到数组中?它在不存储值的情况下也能正常工作,但哪一个是“正确”的方式?

int ary3[1000000] = {};
//int ary3[100000] = {0}; //or should I store a value first

for (int i = 0; i < sizeof(ary3) / sizeof(int); i++) {
printf("%d = %d\n", i, ary3[i]);
}

我已经更正了。我不想先存储任何值。我只想在声明后立即显示索引。

最佳答案

你不必初始化数组,只要你能遵循一个基本规则:

您的程序必须始终知道数组的哪些成员在尝试访问它们之前已被初始化。

在您的例子中,您首先要遍历整个数组并根据它们的索引设置初始值。在您的第一个 for 循环之后,数组中的所有值都已初始化,因此您无需任何检查即可继续。 已根据对问题的编辑删除。

但是,如果您一开始只是部分初始化数组,那么后面的所有代码(至少,直到您可以确定数组已经完全初始化)都必须有某种排序采取保护措施以防止您使用数组中未初始化的位置。

简而言之,如果您不能100% 确定您的代码不会尝试读取数组的未初始化成员,请确保您的第一步是将整个数组初始化为一个理智的值(value)。

关于c - 遍历一个空白数组可以吗,还是我应该先输入一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8055004/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com