C++ - 整数类型的数组

C++ - Arrays of the integer type

本文关键字:数组 类型 整数 C++      更新时间:2023-10-16

我只是想知道如何找到整数数组的元素数量。对于字符数组,我们可以遍历数组直到达到空字符,但是对于整数数组,我该怎么做呢?

#include <iostream.h>
void main()
{
       int a[] = {1,2,3,4};
       for ( k = 0 ; a[k] ; k++)
          cout<<k<<endl;
}

上面的代码计数从 0 到 8。

-思想开放的C++菜鸟

按照

惯例,char 数组以 0 结尾。这样的数组称为 C 样式字符串,因为它用作字符串。

对于整数,按照惯例没有终止值,您需要通过其他方式知道长度。如果是您自己的数组,请将长度存储在变量中。如果从 API 接收数组,通常会有一个参数接收数组的长度,您可以使用该参数。

如果数组是全局、静态或自动变量 ( int array[10]; ),则sizeof(array)/sizeof(array[0])工作。

如果它是一个动态分配的数组(int* array = malloc(sizeof(int)*10);)或作为函数参数传递(void f(int array[])),那么你在运行时找不到它的大小。您必须将大小存储在某个地方。

请注意,即使对于第二种情况,sizeof(array)/sizeof(array[0])也可以很好地编译,但它会静默地产生错误的结果。