C语言,函数参数传递方式是单向的,形参不能给实参赋值是什么意思? 自定义一个函数最后用return

C语言,函数参数传递方式是单向的,形参不能给实参赋值是什么意思?
自定义一个函数最后用return ,不是可以把值给主函数吗?

实参把值传给形参以后就和形参切断联系了,对形参操作后得到的是副本。c语言是严谨的,一个地址对应唯一的参数,但同一个参数可能有不同的地址 拿经典的swap交换函数举例 如果你交换的不是指定地址的变量 只是普通变量 那么他给你返回的结果就是你给的变量的副本的交换 而当交换对象变成指定地址的对象的时候 就有唯一性了 这是真正的交换
拿现实生活举例 让张三和李四交换他们的妻子 天啊你怎么知道是哪个张三哪个李四?为了不影响其他的张三李四,只好新建一个张三和李四的副本来交换了 这个就叫严谨 所以必须知道他们二人的明确地理位置 才能交换他们的妻子 实现真的交换
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-10-12
哪个老师教你函数参数传递方向为单向的?
如果参数如普通变量,并非指针的话,传递为单向,主调函数传向被调函数
如果参数为指针类型,则在被调函数中可以修改地址中的值,也就形成了双向传递
自定义一个函数最后return那是函数返回值,不是参数追问

是书上写,没学到指针呢。谢谢啊

追答

看样子你的书是盗版的,或者是你 断章取义 了

本回答被提问者采纳
第2个回答  2015-01-21
我觉得第一句话有点多余,他说的是这个意思
void fun(int a);
int b;
void fun(b = a);
我觉得他大概是这个意思,不能用后面这种赋值。

...形参不能给实参赋值是什么意思? 自定义一个函数最后用return_百度...
实参把值传给形参以后就和形参切断联系了,对形参操作后得到的是副本。c语言是严谨的,一个地址对应唯一的参数,但同一个参数可能有不同的地址 拿经典的swap交换函数举例 如果你交换的不是指定地址的变量 只是普通变量 那么他给你返回的结果就是你给的变量的副本的交换 而当交换对象变成指定地址的对象...

C语言函数调用中形参值的变化不会传递给实参
C语言函数调用中形参值的变化不会传递给实参! 正确!形参都是数值,无论其类型是指针还是普通变量,都是值,指针变量表示地址值,普通变量表示数值。因此,他们代表的数值本身发生变化,与实参没有关系。那为什么指针会影响到实参变化呢?那是因为我们在代码中,通过传递过来的指针值,对地址中的数据进行...

“c语言中只能把实参的值传送给形参,不能把形参的值反向传给实参...
c语言中只能把实参的值传送给形参,不能把形参的值反向传给实参……这句话,指的是在函数的调用过程中,实参与形参之间,进行的是值传递(这是相对于址传递而言的),在这个过程中,实参将自身的数值传递给形参,形参只是实参的在堆栈中新开辟一个副本,对形参的操作不会影响实参!这句话与return没有关...

...只能把实参的值传递给形参,形参的值不能传给实参。这句话对吗?为 ...
不对,在C语言中,传值有地址传值和参数传值,参数传值只能将实参传值给形参,所以A选项正确。C语言中的外部变量是可以在函数之间传递数据的。C语言中的自动变量是默认的变量,实际上是函数中的局部变量,所以D选项正确。全局变量一经定义都是需要分配内存单元,在程序运行过程中自始至终都会占用固定的...

...只能把实参的值传递给形参,形参的值不能传给实参。这句话对吗?为 ...
不对,在C语言中,传值有地址传值和参数传值,参数传值只能将实参传值给形参,所以A选项正确。C语言中的外部变量是可以在函数之间传递数据的。C语言中的自动变量是默认的变量,实际上是函数中的局部变量,所以D选项正确。全局变量一经定义都是需要分配内存单元,在程序运行过程中自始至终都会占用固定的...

...值的改变不能使实参指针变量的值发生改变什么意思
形参和实参根本就不是一个内存单元!他们的数值不会通过函数调用来改变!(除非你用指针)

C语言中的形参表与实参表,是什么意思?
1. 在C语言中,函数定义时所使用的参数列表称为形参表。例如,在函数定义 `void fun(int n, int m, int l)` 中,`int n`, `int m`, 和 `int l` 构成了形参表。2. 在函数调用时,实际传递给函数的参数列表称为实参表。例如,在函数调用 `fun(1, 2, 3)` 中,`1`, `2`, 和 ...

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

c语言中参数是什么概念
形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。举个例子:定义一个函数s=f(a,...

C语言中,参数“...”是什么意思
这个是可变参数技术,就是表示后面还可以任意个可选的参数

相似回答