为什么sizeof(arr)/(double)sizeof(arr[0])
工作和sizeof(arr+0)/(double)sizeof(arr[0])
不工作?
为什么sizeof(arr)/(double)sizeof(arr[0])
将 arr 传递给函数时也不起作用?这是完整的代码示例:
#include <iostream>
using namespace std;
int givesize(int arr[])
{
cout<<sizeof(arr)/(double)sizeof(arr[0])<<"\n";
}
int main()
{
int arr[] = {1,2,3,4,5};
cout<<sizeof(arr)/(double)sizeof(arr[0])<<"\n";
cout<<sizeof(arr+2)/(double)sizeof(arr[0])<<"\n";
givesize(arr);
return 0;
}
输出 5 1 1