一维数组和多维数组都可以作为函数参数
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));
}
int main(){
int a[
10];
printf(
"%d\n",
sizeof(a));
}