请问C语言中被调用的函数的一些问题?

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:58:34
“我们知道,函数的调用可以(而且只可以)得到一个返回值(即函数值)而运用指针变量作参数,可以得到多个变化了的值!”
这句话我不是很懂?可以解释一下吗?
为什么它能间接地返回结果呢?是不是因为形参指针指向着主函数的变量?

参数传递方式一般可以分为两种,一种是传值,一种是传引用(或指针)
传值形式,在函数作用域内产生一个参数的副本,进行操作,函数结束后副本消失。修改也就不存在了。
传引用(或指针)方式:在c语言中只有传指针,c++中有传指针和引用两种方式,而.net和java中只有传引用。引用和指针都是对参数的内存直接操作,所有在函数结束之后对参数的修改会保留。
关于上边这句话的意思是说,要想获得对一个值的操作可以采用传值获取返回值的方式,而要对多个值操作可以采用传引用(或指针)的方式来实现

指针可以改变多个变量的值
因为存储的是变量地址
直接对变量进行操作

比如函数 int f(int *a, int *b);

你可以向它传递2个参数,这2个参数在f中可以被修改,间接的返回了结果。

这样,调用f函数的函数得到的返回值就有多个了。