1个回答
展开全部
说下的我理解:实参:就是你准备向函数中传递的真正参数,比如你在主函数中,想把a=5中的a传给子函数,这个a就是实参
形参:你的传递的变量要有人接收,有人要对吧,子函数就负责接收这个a=5,为了接收这个参数,子函数临时在栈中开辟出来一个空间用来存放它,这个空间只是临时的,子函数结束后,就会释放,所以说,你无论在子函数里,怎么改变传入的这个参数的值,但实参的值不变,为什么?原因很简单,就是因为这俩存储的位置不是在一个地方,数值一样,这就是经常说的“传值调用”;与之相对的还有一种传递方式,称为“传址调用”,顾名思义,就是你想传递a=5,直接把这个变量的地址传给子函数,这下在子函数中,对a的操作直接是对其存放位置的操作,所以会改变主函数中的值
总结:简单的说,传值调用,就是在Copy出来一个数值一样的参数,你在子函数中修改的只是真正实参的副本;传址调用中,都是指向同一个内存单元,修改会改变其值。不知道这么说你明白没有。
形参:你的传递的变量要有人接收,有人要对吧,子函数就负责接收这个a=5,为了接收这个参数,子函数临时在栈中开辟出来一个空间用来存放它,这个空间只是临时的,子函数结束后,就会释放,所以说,你无论在子函数里,怎么改变传入的这个参数的值,但实参的值不变,为什么?原因很简单,就是因为这俩存储的位置不是在一个地方,数值一样,这就是经常说的“传值调用”;与之相对的还有一种传递方式,称为“传址调用”,顾名思义,就是你想传递a=5,直接把这个变量的地址传给子函数,这下在子函数中,对a的操作直接是对其存放位置的操作,所以会改变主函数中的值
总结:简单的说,传值调用,就是在Copy出来一个数值一样的参数,你在子函数中修改的只是真正实参的副本;传址调用中,都是指向同一个内存单元,修改会改变其值。不知道这么说你明白没有。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询