我正在尝试开发一个C ++程序。我正面临一个问题。我已经将长度为100的数组声明为int arr[100]
。
但我只填写了20个参赛作品。现在我想找到数组中元素的总数,应该是20.如何找到数组中填充的元素数?
我试过了
int size= sizeOf(arr)/sizeof(int);
但是这给了我100.我只想获得我允许用户输入的元素。
实际上,存在生成的输出数量可以是任意数量的情况。所以我将每个值分配到一个单独的数组arr[]
。然后我想要一个遍历数组长度的循环。
如何计算我在数组中获得的输出总数?
答案 0 :(得分:8)
每次使用固定大小的数组时,如果要将某些位置视为空并且其他位置已填满,则必须在单独的变量中跟踪填充的元素计数。为什么?因为总是在数组中有100个元素 - 所以你创建了它们。只是你没有使用其中一些 - 而且只有你知道。
这是您应该使用std::vector
。
答案 1 :(得分:1)
使用C / C ++数组时,除非你有另一个跟踪变量,否则无法确定这一点。
您实际上可能正在寻找vector
。
答案 2 :(得分:1)
您可以在std::vector
和std::deque
中找到所需的功能。
使用C ++时,最好使用标准容器而不是C风格的数组。