并不!函数形参声明为数组的,都会被当作是“数组元素指针”类型所以 int xu(int a[100]) 其实就是 int xu(int *a)也就是说:形参数组的大小完全没有作用[注1]写 int xu(int a[]) 和 int xu(int a[100]) 都是一样的结果。在调用传参时,如果传入的实参是数组,也会隐式转型为数组元素指针类型。所以最终传入的也是指针,和形参类型一致。并且同样,这和实参数组的大小完全没有关系。至于你最后给出的这个写法 int xu(int a[3][100]) 就过分脑补了哦......注1:在C99标准中允许在形参声明为数组时,在中括号中写入一些内容,用以对传入的数组大小或形参指针进行一些限制。但不是你脑补的那种写法,而且这个新语法用得并不多,初学时不用考虑这个。