胡诌一句传值、传地址、传引用

哎..当年编译原理没好好学,真TM后悔,我倒是依稀记得自己在辛MY老师课堂上睡觉时迷迷糊糊地听过一段,说是实参给形参传值一共四种方式,这里我咋个就只能想起三个来了呢..还有一个,貌似是传值引用?忘了,回头问问围脖吧..

我又突然想起来..李QL老师当年在我睡到腿麻里偶尔传我耳朵里的三个协议三要素..."语法\语义\同步",当年睡过去多少好东东啊..哎..

扯回来.

我可以暂时把变量拆解为{ A.变量本身的地址 B.变量对应地址中的内容(也是一个地址) C."B"中的内容(也就是那个地址)所指向的那的存储单元中存的东西 }

实参:A B 形参:C 各为一个存储单元

A [ A的地址 | A的内容:B的地址 ] [引用类型]

B [ B的地址 | B的内容:实际值 ] [值类型]

--------淫荡的分隔线----------

假如说,现在要把A当成实参,要往某个 [ 形参 C ] 里传

1. 传值,显然是B这种(值)类型往外传哈,就是把 [ B的内容 ] 传给 [ C的内容 ],所以你在形参那怎么折腾,也不会影响 B 这个物件儿的任何部分

2. 传引用(引用类型A赋值),就是把 B地址传出去,形参会修改B内容

3. 传地址(ref out的概念,也是A这种引用类型才会涉及),就是把A地址传出去,形参修改的是A指向的B的地址中的内容

当年C语言把*这个东东好好理解下就好了..

先上课,不瞎写了..不要当真啊..

你可能感兴趣的:(引用)