当函数的传入参数是数组时
我们看下面一段代码
void test1(int arr[]){
int len = sizeof(arr) / sizeof(arr[0]);
printf("test1.len=%d\n", len);
}
int main(){
int arr[5] = { 1, 2, 3, 4, 5 };
int len = sizeof(arr) / sizeof(arr[0]);
printf("main.len=%d\n", len);
test1(arr);
system("pause");
return 0;
}
可以看到结果
所以如果我们要在函数中使用数组长度时,可以在外部先用sizeof(arr)/sizeof(arr[0])求出数组长度,然后将他的长度作为一个参数传递进去。