若用数组名作为函数调用时的实参,则实际上传递给的形参的是(C)

若用数组名作为函数调用时的实参,则实际上传递给的形参的是(C)
A)数组中全部元素的值 B)数组的第一个元素的值 C)数组的首地址 D)数组元素的个数
我想问一下,为什么会选C?当选A,B,D时,是个在什么条件下?这四个答案有什么使用上的区别?

若用数组名作为函数调用时的实参,则实际上传递给形参的是数组首地址。

数组首地址数组第一个元素的地址。数组名字本身就是一个指针,它是一个指针常量,指向的地址不变。

比如定义了一个数组变量,编译器就会在内存中划分了一块地址空间给它,数组名这个指针常量就指向了这块内存空间的首地址,而数组首元素就存在这段内存空间的首地址处,即这段内存空间的首地址跟数组首元素的内存地址是一样的。

扩展资料: 

形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。

没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。

两者关系:

在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
一个指针,是数组的首地址。在函数中作的变动会影响实参。这个你仔细看一下calloc函数会有些帮助本回答被提问者采纳
相似回答