编译原理——参数传递—传名、传地址、得结果、传值-创新互联
创新互联服务项目包括金东网站建设、金东网站制作、金东网页制作以及金东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,金东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到金东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!1.传名(替换操作)
分享名称:编译原理——参数传递—传名、传地址、得结果、传值-创新互联
文章地址:http://azwzsj.com/article/ceegcc.html
- 把这种方式理解为替换操作,把P函数参数X、Y、Z和P函数内部的Y、Z替换为A、B,然后P函数对Y、Z的操作,其实就是对A、B的操作;
- 需要注意这和传地址一样,上面对A造成的变化,影响下面的操作,注意用新值(也就是改变后的值);
- 这种传参方式,可以理解为C语言的传地址函数参数,A、B直接把自己的地址给函数参数了,所以函数对A、B地址的改变会影响主函数A、B的值,而下面的传值比较简单,不传地址;
- 注意A+B是一个新的内存地址,传地址这种题,画个变量在内存的状态,然后P函数的参数当做指针,指向所传给它的地址;
- 这个传参方式不太好理解,就是P(X,Y,Z),P函数内部还是对局部变量进行操作,和传值一样,但是需要多一步操作,就是把形参X,Y,Z值传给主函数的实参(A+B,A,A),也就是执行完P函数的X的值赋给A+B,Y的值赋给A,Z的值也赋给A,注意A有两次赋值操作,那么后赋值的会覆盖之前的,所以A的取值就是Z的值,而不是Y的值;
- 总而言之:X、Y、Z的操作当成局部变量来做(当成传值来做),最后对应着把形参的值赋给实参,后赋值的覆盖之前的;
传值比较简单,道理和C语言一样,函数参数不是指针,那么函数P对X、Y、Z的改变,对于主函数来说没有任何影响,所以主函数中的A、B的值原来是多少,现在还是多少;
程序执行流程如下图:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:编译原理——参数传递—传名、传地址、得结果、传值-创新互联
文章地址:http://azwzsj.com/article/ceegcc.html