在C语言中,定义一个函数的形参和实参之间具体是如何进行参数传递的?

如题所述

主要有两种:(1)值传递:在函数调用时,将实参的值复制一份传递到调用函数中,这样,如果在调用函数中修改了参数的值,也不会影响到实参的值。(2)引用传递:与(1)相反,即会影响实参的值。如何区分它们呢?实际上,通常在定义函数时,如果参数为数组、指针或引用类型时,函数采用引用传递,否则采用值传递。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-30
函数中的形参和调用时的实参都是数组名时,传递方式为( 地址传递 )
此时形参和实参共用同一段内存
都是变量时,传递方式为( 值传递 )
实参与形参互不影响
第2个回答  推荐于2018-04-20
传值调用和引用调用  传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。
形参和实参的对照实例(C语言版)  main()  {  int n;  printf("input number \n");  scanf("%d",&n);  s(n);  printf("n=%d\n",n);  }  int s(int n)  {  int i;  for(i=n-1;i>=1;i--)  n=n+i;  printf("n=%d\n",n);  }本回答被网友采纳

函数形参和实参之间的数据传递方式是什么
函数实参与形参之间的数据传递方式是( 值传递)传递方式,在C语言中,数据传递方式有值传递和引用传递,值传递:传值,实际是把实参的值赋值给行参,相当于copy。那么对行参的修改,不会影响实参的值 。引用传递: 实际是传值的一种特殊方式,只是他传递的是地址,不是普通的赋值,那么传地址以后,...

C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是什么...
1、值传递,又称单向传递,只能把实参数值传给形参 ,形参最后的结果不影响实参(形参改变大小 ,实参大小不变)。2、址传递,通过指针,把实参的地址给形参,形参的大小可以影响实参。

在C语言中,函数实参与形参之间的数据传递方式是( )传递方式。
实参与形参数据传递有两种方式:值传递与地址传递。地址传递的形式为 int &a=b;也就是我们所说的引用,但引用只有C++中有,所以C语言都是值传递的。有些人有误解:认为C语言的int *p=&a;不也是按地址传递吗?其实不是这样的。深入理解值传递与地址传递就会发现:值传递是:把实参的值传给一个变量...

C语言中实际参数和形式参数的设置及传递方式
C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。下面通过举例来说明实参和形参的设置方法以及传值与传地址的两种函数调用方式。值传递方式:include<stdio.h>void fun(int a, int b) \/\/ 此处a, b为形参{ a++; b++;}void mian(){ int a...

c语言函数调用时,实参和形参是如何传递的?什么时候要写指针型变量?求高...
形参在函数定义时表示的一种占位符,实参就是里面存有实际变量值或者常量,函数调用时,实参值会自动传递给形参变量。指针比较复杂了。是变量的地址,如果参数类型是指针类型,则必须把实参变量的地址传递过去。当然在函数内也是间接引用实参变量的。比如 void f(int * p) \/\/形参是指针类型变量 下面是...

C语言实参和形参的关系
1. 实参与形参地址不同。实参是函数调用时传入的变量,形参是函数内部的参数,两者地址独立。2. 非指针参数函数中,实参传递值至形参,形参使用实参值,实参地址保持不变。3. 指针参数函数里,实参传递值地址至形参,形参接受实参地址,进而访问实参值,改变主函数中实参值。非指针型函数,形参接受实参值...

c语言函数调用时,参数是如何传递的
建立中间变量(形参),把实参值赋值给中间变量,当被调函数返回值时,系统释放掉中间变量。在程序中通过对函数的调用来执行函数体,其过程与其它语言的子程序调用相似。对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。函数作为...

在C语言中参数是如何传递的?
通过参数列表来传递 c 语言函数的基本结构 返回值类型;函数名;参数列表,参数列表中的参数类型;函数体。

数组做函数的实参和形参时分别该怎么写?
在C语言编程中,函数的参数传递方式主要有值传递和地址传递两种。当我们将数组名作为实参传递给函数时,实际上传递的是指向数组首元素的指针。例如:void fun(int a[10]),这里的a是一个数组名,其实代表的是一个指向数组首元素的指针。因此,实参传递的实质是传递一个地址值,而非整个数组。当我们将...

C语言中的返回值return ,和形参,实参大概是什么意思,而它们又是怎么用...
实 参向形参的传递是值的传递。这个值就是对实参的表达式进行计算的结果,它可以是常量值、变量值、数组元素、函数值等。如果实参是数组名了,那么它传送的就是地址的值了。比如:double power(double x ,int n)定义一个双精度参数 power(3.0,5) 调用 x n 是形参,3.0,5是实参。如果...

相似回答