这里就不讨论一般的数组长度计算了,只说明一下任何数据到了函数的形参中都将退化为指针,所以计算大小的时候,也是计算的指针的大小
直接上代码了
// class sizeof测试.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
using namespace std;
int f1(int num[])
{
return sizeof(num);
}
int f2(int num[])
{
return sizeof(num);
} int _tmain(int argc, _TCHAR* argv[])
{
int num[]={,,,,};
cout<<sizeof(num)<<endl<<sizeof(f1(num))<<endl<<sizeof(f2(num));
return ;
}
vs2010在32位系统中的运行结果是 20,4,4