对于具有值的数组长度的循环

时间:2013-10-19 15:44:06

标签: c++ arrays

假设我有一个名为abc [100]的整数数组。 abc只有前5个“槽”中的值。如何为循环上升直到abc中最后一个不为空的值写入for循环?

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

2 个答案:

答案 0 :(得分:2)

在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;
}

答案 1 :(得分:0)

在C ++中如果声明一个数组并仅初始化前几个元素,剩下的元素将是 value initialize ,这意味着基本上将调用“默认构造函数”。

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