1. 程式人生 > >求一維數組長度誤區

求一維數組長度誤區

註意 sizeof 情況下 get tle 大小 永遠 log 結果

求一維數組方法:

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[]的大小。

求一維數組長度誤區