在C语言中,用数组名作为函数调用时的实参,实际上传递给形参的是____________。

A.实参数组元素的个数
B.实参数组全部元素的值
C.实参数组第一个元素的值
D.实参数组的首地址

在C语言中,用数组名作为函数调用时的实参,实际上传递给形参的是首地址。

因为数组名传递的是数组的地址也就是第一个元素的地址。例如:

a[3]这个数组,3指个数,a[0]指第一个元素,全部元素指a[0]~a[2];那数组名a规定的就是首地址。

扩展资料

C语言中函数参数传递的三种方式:

1、传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值。

2、传地址,就是传变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,也就是能改变函数外的变量的值。

3、传引用,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。说几点建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-05

实参数组的首地址。

在用数组名作函数参数时,不是进行值的传送,即不是把实参数组的每一个元素的值都赋予形参数组的各个元素。因为实际上形参数组并不存在,编译系统不为形参数组分配内存,数组名就是数组的首地址,函数得到一个函数值,即为该字符数组的首地址。

因此在数组名作函数参数时所进行的传送只是地址的传送,也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。

扩展资料:

使用规则

1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。

2.数组名的书写规则应符合标识符的书写规定。

3.数组名不能与其它变量名相同。

4、可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

参考资料:

百度百科-数组

本回答被网友采纳
第2个回答  2018-02-27
数组名传递的是数组的地址也就是第一个元素的地址 所以选 D
第3个回答  2018-06-21
选择D选项
第4个回答  推荐于2018-02-27
选择D.实参数组的首地址本回答被网友采纳
相似回答