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

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

C语言中参数传递有什么特点
C语言中参数传递 分类及特点:1、值传递:在函数调用时,发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。2、地址传递:可以实现地址互换。3、引用传递:与地址传递一样,可以实现地址互换,但该传递仅适用于C++语言。

C语言中实参和形参各是什么意思?
C语言中,实参与形参是函数调用过程中的两个重要概念。具体来说,形参指的是函数定义时所列出的参数。例如在函数定义语句 `int Fun(int a, double c);` 中,`a` 和 `c` 就是形参。这些参数在函数定义时被声明,但它们的值在函数执行前尚未确定。当函数被调用时,实参的值被传递给形参。实参是...

请c语言高手们赐教:什么时候应注意函数实参河和形参的单向传递问题
C语言中有两种传递方式,一个是值传递,另一个是地址(指针)传递。值传递就是单向传递。它只给从 实参 传递给 形参 ,而形参经过改变后不会传递给实参,对 函数 而言,就是 参数 经过主调用函数传递给了 被调用函数 ,而我们知道,被调用函数除了用return 语句 返回一个值外,其余的值就不可以返回...

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

c语言中形参和实参的区别是什么?
形参不是实际存在变量,又称虚拟变量。2、目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。需要注意当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的...

C语言中参数传递有什么特点
C语言中参数传递 分类及特点:1、值传递: 在函数调用时,发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。2、地址传递:可以实现地址互换。3、引用传递:与地址传递一样,可以实现地址互换,但该传递仅适用于C++语言。

相似回答