为什么这个程序输出4
#define SIZE 10
void size(int arr[SIZE])
{
printf("size of array is:%d\n",sizeof(arr));
}
int main()
{
int arr[SIZE];
size(arr);
return 0;
}
在size(arr
函数中调用main
)时会发生什么事情,这意味着将arr
函数中的地址main
分配给arr[SIZE]
size
1}}功能?
有人可以解释这个吗?
答案 0 :(得分:1)
函数arr
内部是一个指针。指针需要4个字节。 sizeof
返回作为参数传递的变量的大小(以字节为单位)。这就是原因。