求一维数组方法:
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[]的大小。