3.16 - 传值与传址

目录

一、相关概念

1、形参

2、实参

3、传值调用

4、传址调用

二、形参和实参在内存中有不同的位置(了解)

三、考法1:传值与传址调用的特点

四、考法2:传值与传址调用的计算


一、相关概念

1、形参

  • 在定义函数和过程的时候,声明的参数。 仅仅是声明了参数的类型和参数名称,未实际分配和赋值。

  • 形参只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。

  • 形参当函数调用完成之后就自动销毁了,因此形式参数只在函数中有效。

2、实参

  • 调用函数或过程时,会用具体的参数去替代形参,这个具体的参数就是实参。函数调用时,实际赋值和分配内存空间。

  • 实参可以是:常量、变量、表达式、函数等。

  • 无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。

3、传值调用

  • 调用函数或过程时,传一个实际的值给形参。

4、传址调用

  • 调用函数或过程时,传一个地址(实际参数存放的地址)给形参。

二、形参和实参在内存中有不同的位置(了解)

  1. 在函数运行时,形参和实参是不同的变量,他们在内存中处于不同的位置。
  2. 形参将实参的内容拷贝一份,在该函数运行结束的时候释放,实参内容不变。
  3. 举例

三、考法1:传值与传址调用的特点

四、考法2:传值与传址调用的计算

1、int x=2:main()函数值定义了实参x=2,这是内存就会开辟一块空间给x存放值。

2、f(int x,int &a)

  • 给int x传值,由于f(1,x),所以int x的值等于1;
  • 给int &a传址,传的是f(1,x)中实参x的地址,由于实参x中存放的值为2,所以int &a=2;

3、传址:两个变量会对应同一个空间,所以变量值的改变会互相影响。

4、传值:两个变量是单独隔离的,有各自的存储空间,所以变量值的改变不会互相影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值