C ++数组[1000]

时间:2015-11-14 06:45:24

标签: c++ arrays

所以说你有一个数组(例如array [1000])。 1000个值可以进入这个,但不一定有那么多。在这种情况下,我不想循环遍历所有1000个值,那么如何循环直到达到空白索引?

3 个答案:

答案 0 :(得分:1)

有三种可能性:

1)正如Murat所描述的那样,使用变量来存储最后一个元素的位置。 (在标准中没有这样的东西你必须自己存储)

2)使用特殊值来标记空的结尾,例如指针的nullptr 然后您的代码将如下所示:

for(int i=0 ;  i<1000 && Array[i] != nullptr ; i++)

对于double,你可以使用DBL_MAX等。

3)推荐:不要使用数组:使用类似std :: vector的东西。矢量可以包含您需要的任意数量的值,并且可以调整大小

答案 1 :(得分:0)

您可以使用Last_Element变量存储您正在使用的数组的最后一个元素。在for循环中,浏览Last_Element。对数组进行更新时,最大化Last_Element变量。

答案 2 :(得分:0)

创建一个变量来计算有多少&#34;有用&#34;值在您的数组中。例如,变量counter。然后,每次要添加新值时,都会将其添加到位置counter上,然后将计数器增加1。

#include <stdio.h>

int addValue(int value, int* array, int counter) {
    array[counter]=value;
    return counter+1;
}

void printArray(int* array, int counter) {
    int k;
    printf("The array has %d elements:\n",counter);
    for(k=0;k<counter;k++)
        printf("\tElement %d -> %d\n",k,array[k]);
}

int main() {
    int array[1000];
    int counter = 0;
    counter = addValue(10,array,counter);
    counter = addValue(3,array,counter);
    counter = addValue(-6,array,counter);

    printArray(array,counter);

    return 0;
}