基本类型参数传值

一 、值传递
测试:
这里写图片描述

分析:
值传递的过程中会给形参分配一个同等类型的内存空间,将实参的内容深拷贝到为该形参分配的内存空间中,后续都是对形参的这块空间进行操作,对实参的内存空间没有影响;

二 、引用传值
测试:
这里写图片描述

分析:
引用传值,在函数中不用重新分配一个类型空间形参其实是实参所在的那个内存空间的别名(另外取得一个名字),对形参的操作也可以认为是对实参的操作;

三 、指针传值
测试:
这里写图片描述

分析:
指针传值,会给形参分配一个形参类型的指针内存空间,这个指针内存空间里存储的是实参的内存地址,这个形参指向的是实参的那块内存,因此可以利用形参索引到实参的内存对实参进行更改以及获取实参的数据内容,但当形参存储的地址变化后,将失去对实参的索引。

三种参数传递方式可以总结为:
这里写图片描述

指针的三种传递方式也是类似的:
值传递:
这里写图片描述

分配一块指针空间,将实参中存储的地址拷贝到分配的指针空间中,上述赋值是直接改变这块指针空间存储的地址,不会改变实参存储的地址,因此函数运行完不会对名字进行更改。

引用传递:
这里写图片描述

形参中的name和实参中的name共用同一块内存,形参中name存储的地址改变,相应的也就是实参中存储的地址的改变。

指针传递:
这里写图片描述

将实参name的地址赋值给形参的name,即形参name指向的内存块就是实参name内容,因此给形参指向内存块赋值就相当于改变实参name中的地址指向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值