求一维数组长度误区

Posted JQS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一维数组长度误区相关的知识,希望对你有一定的参考价值。

求一维数组方法:

int a[] ={0,0,1,1}; 

int len= sizeof(a)/sizeof(a[0]); 

注意:这是在定义数组后直接求长度;

在下面这种情况下这种方法不适用:

int getLength(int[] a){
    int length;
    length=sizeof(a)/sizeof(a[0]); //这样是错误的,得到的结果永远是1
    return length;
}
void main(){
int a[] ={0,0,1,1}; 
getLength(a);
}
因为,a作为形参传过去的十数组的首地址,所以此时的sizeof(a),仅仅是地址a的大小,不是数组a[]的大小。

以上是关于求一维数组长度误区的主要内容,如果未能解决你的问题,请参考以下文章

求一维数组最大最大子数组和

C++学习-一维数组名称的用途:统计整个数组在内存中的长度,获取数组在内存中的首地址,求数组的长度

Java中如何获取多维数组的长度

c语言求两个数组的并交集

JS 在一个函数中 求数组长度

c语言 从一个一维数组中删除指定数值