c语言函数形参和实参调用时的实参和形参之间的数据是单向的什么传递

函数的参数传递 - 简书
函数的参数传递
1、在函数未被调用时,函数的形参不占有实际的内存空间,也没有实际的值,只有在函数被调用时才为形参分配储存单元,并将实参与形参结合。2、函数的参数传递就是指形参与实参结合(简称形实结合)的过程,形实结合的方式有值传递和引用传递
当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将形参的值传递给形参)。这一过程是参数值的单向传递过程,一旦形参获得了值便与实参脱离关系,此后无论形参发生了怎样的改变,都不会影响到实参。例子:
//将两个整数交换次序后输出
#include &iostream&
int swap(int a,int b){
int main(){
int x=5,y=10;
swap(x,y);
cout&&"x="&&x&&"y="&&y;
这个例子中将输出x=5 y=10;没有达到交换值的目的,
因为实参将数值传递给形参之后,再也没有理过实参了,一去不复回,悲哉!(。﹏。)
引用是一种特殊类型的变量,可以被认为是另一个变量的别名。
通过引用名与通过被引用的变量名访问变量的效果是一样的。例如:int i,j;
int &ri=i;
//建立int型的引用ri,并将其初始化为变量i的一个别名
//相当于i=j
声明引用注意的问题:
声明一个引用时,必须同时初始化,使它指向一个已经存在的对象
一旦一个引用被初始化后,就不能够改为指向其他对象通过将引用作为形参,实现引用传递,更改上述函数为如下:
//将两个整数交换次序后输出
#include &iostream&
int swap(int &a,int &b){
int main(){
int x=5,y=10;
swap(x,y);
cout&&"x="&&x&&"y="&&y;
这时输出的值就是x=10,y=5了,我们的目的达到了,显然引用传递与值传递只是函数的形参的写法不同而已,因为形参的写法不同,引用传递之后的形参依旧和实参保持着联系,形参的改变也牵动着实参。
求一份前端工作!!
github:/huruji君,已阅读到文档的结尾了呢~~
microsoft word - c语言教程doc-第一章: c 语言概论
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
microsoft word - c语言教程doc-第一章: c 语言概论
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口函数调用时,基本的参数传递方式有传值与传
作者:qian9wan8来源:网络转载日
● 函数调用时,基本的参数传递方式有传值与传地址两种,(
)。 A.在传值方式下,形参将值传给实参 B.在传值方式下,实参不能是数组元素 C.在传地址方式下,形参和实参间可以实现数据的双向传递 D.在传地址方式下,实参可以是任意的变量和表达式试题答案:C试题来源:2009年上半年软件设计师考试试题扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
C语言选择题在C语言中,函数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是(  )。答案
双向地址值传递
单向地址值传递
单向数值传递
双向数值传递
扫二维码下载作业帮
1.75亿学生的选择
CC语言函数参数的传递默认是 按值传递,属于单向数值传递
为您推荐:
扫描下载二维码

我要回帖

更多关于 函数形参和实参特点 的文章

 

随机推荐