c++中怎样用函数来返回数组的长度

#include <iostream>
using namespace std;
int main()
{
int array[]={1,2,1,2,0,1,1,1,1,1};
int array_length(int *array);
cout<<array_length(array)<<endl;
return 0;
}

//定义函数,用来返回数组的长度
int array_length(int *array)
{
int i;
for(i = 0;*(array+i);i++)cout<<i<<" "<<*(array+i)<<endl;
return i;
}

上面的代码怎样改,才能保证遇到有0时也正确返回数组的长度,还有数组不是会自动在末尾加上结束标识符\0的吗,为什么这里没有自动加上呢

C语言中数组长度必须是常量。如果你想用不定长数组,可以事先定义一个比较大的数组,再用一个变量记录实际用到的数组元素数,这样也可以大致不定长的目的。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答