目录
一、相关概念
1、形参
-
在定义函数和过程的时候,声明的参数。 仅仅是声明了参数的类型和参数名称,未实际分配和赋值。
-
形参只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。
-
形参当函数调用完成之后就自动销毁了,因此形式参数只在函数中有效。
2、实参
-
调用函数或过程时,会用具体的参数去替代形参,这个具体的参数就是实参。函数调用时,实际赋值和分配内存空间。
-
实参可以是:常量、变量、表达式、函数等。
-
无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。
3、传值调用
-
调用函数或过程时,传一个实际的值给形参。
4、传址调用
-
调用函数或过程时,传一个地址(实际参数存放的地址)给形参。
二、形参和实参在内存中有不同的位置(了解)
- 在函数运行时,形参和实参是不同的变量,他们在内存中处于不同的位置。
- 形参将实参的内容拷贝一份,在该函数运行结束的时候释放,实参内容不变。
- 举例
三、考法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、传值:两个变量是单独隔离的,有各自的存储空间,所以变量值的改变不会互相影响。