我想在C代码中检测整数数组的最后一个元素。 否则我需要在数组元素为空时停止处理数组数据。 我的数组的最大大小是固定的,它是从外部文件填充的,所以我不知道它何时停止填充数组。
答案 0 :(得分:5)
没有定义的术语为空数组
即使你没有明确地初始化它,你的数组也会保留一些值
您需要在应用程序中定义如何将其称为空,可以通过考虑其(数组元素)值是0还是其他值
答案 1 :(得分:3)
最后一个元素位于
sizeof(array)/sizeof(array[0]) - 1
答案 2 :(得分:3)
如果您没有明确知道数组的大小,可以使用sizeof
运算符进行计算:
size_t size = sizeof(your_array) / sizeof(your_array[0]);
这会计算数组的总大小(以字节为单位)并将其除以一个元素的大小(在您的情况下也可以使用sizeof(int)
,但如果更改数组的类型,则可能会中断)
然后,您可以简单地遍历数组的元素,如下所示:
for(size_t i = 0; i < size; ++i)
printf("%d\n", your_array[i]);
答案 3 :(得分:0)
为什么不使用简单的n-1
方法!
只需让变量l
其中l = arr[n - 1];
然后printf(l)
...
我猜很简单...