通过下面简单的例子,能够看出在几种不同的情况下,数组的sizeof的到不同的值。
#include
void function1(int* a)
{
}
void function2(int a[])
{
}
int main()
{
执行结果是:sizeof(a)_at_main=20 sizeof(b)_at_main=8
从执行结果得出以下结论:
1、在与数组定义相同的函数(或语句块)中,sizeof(数组名)等于
2、在与数组定义相同的函数(或语句块)中,sizeof(被数组名赋值的指针)等于
3、若数组名被当作参数传给被调用的函数(无论是以指针的形式传参,还是以数组的形式传参),则在被调用函数内的sizeof(传递数组名的参数名)等于