c语言函数传递数据 c语言函数调用

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

函数只有两种传递方式:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网页空间、营销软件、网站建设、东辽网站维护、网站推广。

1、值传递,又称单向传递,只能把实参数值传给形参 ,形参最后的结果不影响实参(形参改变大小 ,实参大小不变)。

2、址传递,通过指针,把实参的地址给形参,形参的大小可以影响实参。

扩展资料:

实参变量和形参变量之间的调用过程

1、函数的形参列于函数声明中,在函数定义的函数体内使用,在未出现函数调用时,形参不占内存中的存储单元。

2、将实参的值传递给形参,当函数被调用时,实参列在函数名后面的括号里,执行函数调用时,实参被传递给形参。

3、在执行函数期间,由于形参已经有值,可以利用其进行相关运算。

4、通过return语句将函数值带回到主调函数。

5、调用结束,形参单元被释放。实参单元仍保留并维持原值(值传递)。

参考资料来源:百度百科-实际参数

c语言函数的值传递

p函数就是个冒泡递减排序功能。标准函数头写法应该是void p(int a[])而不是void p(int a[5]),即使写成void p(int a[5]),编译器也是按void p(int a[])解释而不按void p(int a[5])解释,而且这里a[]的意思就是定义a是int *型指针。函数p中并没有改变a,改变的是a指向的目标a[0]~a[4]。所以不知你问的具体是啥意思……

c语言函数值传递

楼主,你不是在胡说吧,VC++6.0调试了一下:

#include "stdio.h"

float f(float x)

{

printf("%.2f\n",x);

return (x0?x:-x);

}

void main(void)

{

float a=-6.2f,j;

j=f(a);

printf("%.2f %.2f",a,j);

}

输出结果是

-6.20

-6.20 6.20

没错啊!

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

值传递。

实参与形参数据传递有两种方式:值传递与地址传递。

地址传递的形式为

int

a=b;

也就是我们所说的引用,但引用只有C++中有,所以C语言都是值传递的。

有些人有误解:认为C语言的int

*p=a;不也是按地址传递吗?其实不是这样的。

深入理解值传递与地址传递就会发现:

值传递是:把实参的值传给一个变量(形参)。所以int

*p=a也是把a的地址值传给了指针变量p

地址传递是:直接把地址传进来,没有赋给任何变量,这样在函数体内对形参的操作也就是对实参地操作。有这种功能的也就是引用()了。

C语言的三种函数传递

在函数调用的时候,只是把原本参数的值赋值给了函数中的形式参数。在exchange函数中操作的是形参,没有对原本函数做出操作,所以输出结果是 x = 4,y = 2 a = 2,b = 4。

这次在函数调用的时候是吧a,b的地址赋值给了px,py,所以交换的是真正的a,b变量此时输出的结果是*px = 4,*py = 2

a = 4,b =2 。

这个取地址的引用传递虽然看起来像值传递,然而确实真正的改变原来常量的值,就像下棋一样操作的不是棋子,而是棋手。


当前名称:c语言函数传递数据 c语言函数调用
文章网址:http://ybzwz.com/article/doosigp.html