【发布时间】:2012-07-07 15:33:32
【问题描述】:
可能重复:
Calculating size of an array
Sizeof an array in the C programming language?
为什么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
【问题讨论】:
标签: c++