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);
我觉得他大概是这个意思,不能用后面这种赋值。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网