数组名作函数参数时,实参与形参变量之间的数据传递是?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组名作函数参数时,实参与形参变量之间的数据传递是?相关的知识,希望对你有一定的参考价值。

数组本身不能作为参数传递给函数,且函数的返回值也不能是数组本身;数组可以说是与函数绝缘的;
不过还好,数组名本身并不代表数组,数组名代表一个与数组元素同类型的指针常量,它指向的位置为数组第一个元素的起始地址;
当将数组名作为参数传递给函数时函数将这个指向数组第一个元素的起始地址的指针常量赋值给函数形参列表中的定义为与数组元素同类型的指针变量p;由此,p便可以指向数组中的第一个元素的首地址,函数便可以通过这个p来取用数组中的值;
但是由于该变量p无法像真正的数组名一样得到数组长度,所以使用数组名作为参数传值给函数的同时,还要将数组的长度一并传给函数。
以上,希望对你有所帮助
参考技术A 数组名做参数时,相当于指针传递,传的是地址本回答被提问者采纳 参考技术B 啊?想问啥

C语言基础——形参与实参

形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。
形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。
实参:可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
实参和形参的区别:
空白或占位符
1。函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。
用来填充形参
2。实参是用来填充形参的。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。
实参是一个具有确定值的表达式。

传值调用和引用调用
3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
 
行参是在定义函数时放在函数名后括号中的参数。在未进行函数调用时,并不对行参分配内存单元。在发生函数调用时,立刻给行参分配内存单元。调用结束后,释放掉行参所占的内存单元。
行参属于局部变量,其作用域在它所在的函数。
 

以上是关于数组名作函数参数时,实参与形参变量之间的数据传递是?的主要内容,如果未能解决你的问题,请参考以下文章

20180513 实参 形参 数组

什么是函数的参数传递呢??它有几种呢?

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。

数组作为函数参数

C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是啥

调用函数时为啥形参的值不能传给实参