具有值的数组长度的 For 循环

For loop with the length of array that has values

本文关键字:For 循环 数组      更新时间:2023-10-16

>假设我有一个名为abc[100]的整数数组。 ABC 仅在前 5 个"插槽"中具有值。我如何为此编写一个 for 循环,其中循环上升到 abc 中最后一个不为空的值?

int abc[100] = {1, 2, 3, 4, 5};

在C++数组中,数组元素没有"空"的概念。
这个想法根本不存在。 把它从你的脑海中抹去。
每个数组元素始终存在。

在 C 和C++ 中,当数组的一部分被显式初始化,而部分未显式初始化时,你未指定的部分默认为零。

所以,你有效地写道:

int abc[100] = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0....};

如果需要,可以将值0视为未设置值的标记。

int i;
for(i=0; abc[i] != 0; ++i)
{
    cout << "[" <<i<< "] : " << abc[i] <<endl;
}

C++如果你声明一个数组并只初始化前几个元素,剩下的元素将被值初始化,这意味着基本上将调用"默认构造函数"。

对于内置类型(如int值初始化)将值设置为零。因此,如果您修复了数组的问题,并且只初始化前五个元素,则其余元素将初始化为零。