int GetSize(int data])
{return sizeof(data);}
int main()
{
int data1[]={1,2,3,4,5};
int size1=sizeof(data1);
int *data2=data1;
int size2=sizeof(data2);
int size3=GetSize(data1);
cout<<size1<<" "<<size2<<" "<<size3;
return 0;
}
size1=20,size2=4,size3=4.
sizeof(data1)是求数组的大小,数组包含5个整数,每个整数占4个字节,因此共占用20个字节;data2声明为指针,在32为系统上,对任意指针求sizeof,得到的结果都是4;当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针,因此,尽管函数GetSize的参数data1被声明维数组,但它会退化为指针,结果仍为4.