数组名作为函数参数

1、

数组名作为函数参数

 

在编译时是将arr按指针变量处理的,相当于将函数f的首部写成f(int *arr,int n);

说明:C语言调用函数时采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参数时,由于数组名代表的是数组首元素地址,因此传递的是地址,所以要求形参为指针变量。

值传递没问题但是printf("sizeof(arr)=%ld\n",sizeof(arr));就是一个普通指针的大小了

62位 8

32位 4