<分区>
我的代码很简单:
#include <iostream>
using namespace std;
int test(int b[]){
cout<<sizeof(b)<<endl;
return 1;
}
int main(){
int a[] ={1,2,3};
cout<<sizeof(a)<<endl;
test(a);
system("pause");
}
这段代码的输出是:
12
4
这意味着当 a[] 作为参数传递给函数 test() 时,它已经退化为 int *,所以 size(b) 的输出是 4,而不是 12。所以,我的问题是,如何在函数 test() 中获取 b[] 的实际长度?