一维数组和多维数组都可以作为函数参数
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int b[]={1,2,3,4,5};
printf("%d\n",sizeof(*(&a)));//48(容易产生的误区的:二维数组名其实是个行指针,那么*(&a)取到的是这一行,那么sizeof(*(&a)))是16,这是错误的。只要&a就取到的是整个数组这个对象
printf("%d\n",sizeof(*(&b)));//20
一维数组
一维数组数组名字作为函数参数,退化为一级指针;
void test(int a[10]){
printf("\ntest=%d",sizeof(a)); //8(32位上为4),此时退化成一个指针
}
int main(){
int a[10];
printf("%d\n",sizeof(a)); //(40)
}