1、
在编译时是将arr按指针变量处理的,相当于将函数f的首部写成f(int *arr,int n);
说明:C语言调用函数时采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参数时,由于数组名代表的是数组首元素地址,因此传递的是地址,所以要求形参为指针变量。
值传递没问题但是printf("sizeof(arr)=%ld\n",sizeof(arr));就是一个普通指针的大小了
62位 8
32位 4
1、
在编译时是将arr按指针变量处理的,相当于将函数f的首部写成f(int *arr,int n);
说明:C语言调用函数时采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参数时,由于数组名代表的是数组首元素地址,因此传递的是地址,所以要求形参为指针变量。
值传递没问题但是printf("sizeof(arr)=%ld\n",sizeof(arr));就是一个普通指针的大小了
62位 8
32位 4