参数传递(二)(按值传递与按址传递)
来源:互联网 发布:淘宝童话页头图片 编辑:程序博客网 时间:2024/06/03 16:50
过程和函数的参数传递分为两种:一种是按值传递,一种是按址传递。
1、按值传递
在参数的传递过程中实参复制一份给形参所代表的临时存储单元,实参和形参的内容保存在不同的内存地址中,过程和函数中改变形参的内容值时,只是形参的内容发生改变,不会影响实参的内容。
下面将实参A和B的值赋值一份给形参X和Y,X和Y的值改变,而实参是不会改变的,如下
function myfunc(x,y:integer):interer; //x和y为形参
begin
x:=x+1;
y:=y+1;
result x+y;
end;
procedure tform1.button1.click(sender:tobject);
var
A,B:integer; //实参A和B
begin
a:=10;
b:=10;
showmessage(inttostr(myfunc(a,b)));
end;
程序运行结果:22
形参X和Y都在原来的基础上增加了1,而实参还是10,并没有改变
2、按址传递
在参数传递过程中,实参将保存内容的内存地址传递给形参,形参与实参指向同一个内存地址,形参就像实参的别名一样,当形参内容发生变化是,实参的内容也立即随着变化,如下:
fucntion myfunc(var a,b:integer):integer
begin
a:=a+1;
b:=b+1;
end
procedure tform1.button1.click(sender:tobject);
var
x,y:integer;
begin
showmessage(inttostr(myfunc(x,y)));
showmessage(inttostr(x+y));
end;
结果为22,22
- 参数传递(二)(按值传递与按址传递)
- 参数传递(值传递与引用传递)
- 参数传递按值传递
- 数据结构 (五)c++函数和参数传递 按值传递 按引用传递
- 按值传递与按地址传递参数
- js 参数传递方式:按值传递
- JAVA中参数传递(按值传递和引用传递)
- java方法参数传递方式--按值传递、引用传递
- 一道考察函数参数传递、值传递、指针传递(地址传递)、引用传递
- 一道考察函数参数传递、值传递、指针传递(地址传递)、引用传递
- c++中的参数传递(值传递和引用传递)
- java参数传递(值传递还是引用传递)
- 函数参数异同(值传递、指针传递、引用传递)
- java参数传递(值传递还是引用传递)
- java参数传递(值传递还是引用传递)
- js 中参数传递(值传递和引用传递)
- java参数传递(值传递还是引用传递)
- java参数传递(值传递还是引用传递)
- 程序员的自我修养: Windows下的动态链接
- 考察数据结构——第三部分:二叉树和BSTs[译]
- if you want, you can!
- 程序员面试宝典——螺旋队列解法解析
- Thumb 指令集
- 参数传递(二)(按值传递与按址传递)
- jsp:forward标签与response.sendRedirect()的区别
- ASP.NET MVC 入门4、Controller与Action
- 从silverlight中看到的不同
- Java 项目开发的工具
- java中类、对象的概念
- EIGRP中的FD和AD,后继与可行后继
- pku3258 River Hopscotch
- 一个代码效率的写法