c语言,数组名作函数参数问题。

若使用一维数组名作函数实参,则以下正确的说法是
a)必须在主调函数中说明此数组的大小
b)实参数组类型与形参数组类型可以不匹配
c)在被调函数中,不需要考虑形参数组的大小
d)实参数组名与参数组成部分名必须一致
答案为a,选项c怎么不对?

第1个回答  2020-09-03
这道题刚刚做到了,正确答案是c
牛客网大佬给出的解答,A,必须在主调函数中说明此数组的大小,不一定例如传递一个char类型的字符串,就不需要。所以A是错的
第2个回答  2019-03-01
a是数组名,也就是数组的首地址,a+1就是a[1]的地址,等价于&a[1].前面加一个星号就是取该地址的值啦,也就是元素a[1]的值。
第3个回答  2020-04-19
void
change(int
array[],int
n)相当于void
change(int
*array,int
n),第一个参数是个指针,如果是change(a[2],2)则第一个参数是个常数不是指针,由于数组名是常指针,所以改成change(a,2)就没问题了。
第4个回答  2009-04-07
应为c语言的规则就是

先定义

然后才能分配空间
第5个回答  2009-04-07
这个..因为其实是一个指针嘛..不指定的话..你就不知道边界了...
如果永远做++的话..那么数组会按照类型所占用的内存指下去..
相似回答