c语言学习笔记

传值调用和传值调用:

传值只是把其值传给副本,副本改变(比如交换)但原值不改变。在函数调用中,传值是把实参的值“拷贝”给形参,运算中是对形参进行操作,实参的值在运算中不会发生变化。

传址是把变量的地址传给地址变量,如果修改其变量所指的内容,原值就会改变。在函数调用中,传址是把实参的地址传给形参,运算中是对实参进行操作,会改变实参的值。传址是将实参的地址传递 给了形参,也就是说形参里保存的是实参的地址,而形参本身也分配了内存空间,也会有自己的地址,所以你改变形参的地址,是不会改变实参的地址的

举个例子:
你电脑的D盘有个文本文件:readme.txt
传值就好比你拷贝readme.txt到桌面,虽然文件内容都一样,但是你修改桌面的文件,D盘的文件不会改变。
传址就好比创建了一个readme.txt的快捷方式到桌面,这时你改变快捷方式或是源文件,另一个都会跟着改变。

posted @ 2013-04-02 21:44  Fare  阅读(102)  评论(0编辑  收藏  举报