更理论性的东西还是需要看书,我给你打个比方理解。
假设面包烘培培训班的老师在教学生如何烤面包。
老师面前放着很多“参数”(是“形式参数”,简称“形参”):面粉、鸡蛋、酵母、水……,老师用嘴巴讲来告诉学生,第一步做什么,第二步做什么……最后一步做什么,做完这些后,会烤好一个面包(这个面包就是“返回值”)。总的来说,这个老师其实没有真正干什么,他只说明了具体怎么干。(函数,只有被调用后,才会真正产生影响)
学生甲打算自己烤一个不大的面包,他自己选了600克面粉、1个鸡蛋、1勺酵母、300克水……(所有这些数量具体的材料就是“实际参数”,简称“实参”。面粉和水都按克算,是同一种类型的,和鸡蛋、酵母的类型不同)。学生甲发现老师的函数要求是按值传递的,于是,他自己的材料不用,走到老师面前,从老师的材料中拷贝一份和自己一样的材料,然后严格按照老师说的操作,最终做出了一个个头不大的面包(学生甲的“返回值”)
学生乙打算自己烤一个稍大的面包,他选了1000克面粉、2个鸡蛋、2勺酵母、500克水……(所有这些数量具体的材料就是“实际参数”,简称“实参”)。学生乙发现老师的函数要求是按值传递的,于是,他自己的材料不用,走到老师面前,从老师的材料中拷贝一份和自己一样的材料,
严格按照老师说的操作,最终做出了一个个头较大的面包(学生乙的“返回值”)
……
在上面的例子中,如果老师的函数要求是按引用传递,即老师说:“用你自己的材料做!”学生调用函数时,就不拷贝材料,直接用自己的那份材料。当然,实际的函数中,函数返回时,实参可能改变,也可能不变,但没有实参拷贝到形参的过程。
关于函数的返回值,你只需要知道两点,return语句只返回一个值,而数组及指针则是返回多个值;
具体内容自己多看看书就OK。