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