3个回答
2013-07-30
展开全部
一、参数的使用方法:
1、值参数(Value Parameter )
格式:方法名称(参数类型 参数名称[,参数类型 参数名称])
2、引用参数(Reference Parameter )
格式:方法名称(ref 参数类型 参数名称[,ref 参数类型 参数名称])
3、输出参数(Out Parameter)
格式:方法名称(out 参数类型 参数名称[,out 参数类型 参数名称])
二、值参数与引用参数及输出参数的区别:
2.1 值参数中实参的值不随形参值变更而变更;
形参与实参值互不影响,实参传递给形参时,堆栈中就为其分配另外一部分空间。这样,两个参数变更时而互不影响。
2.2 引用参数及输出参数中实参的值会随形参值变更而变更
(形参:在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元.只有在发生函数调用时,函数中形参才被分配内存单元.在调用结束后,形参所占的内存单元也被释放。调用时将实参的值赋绐胡孝形参);
引用参数与输出参数中,实参在堆栈中分配空间。当实参传递给形参时,会将地址传递给形参,即传送的时指针,这样形参变更时,实参也会随著变更。
三、引用参数与输出参数区别:
3.1 使用ref与out参数裤兄稿时,方法中参数及调用参数都需要加Ref或out关键字
3.2 使用ref参数与out参数得到的结果是一样的,区别是:ref在调用前需给调用方法中的参数赋初值。out在调用前不需给调用方法中的参数赋尘源初值,参数在实际方法体中初始化。
1、值参数(Value Parameter )
格式:方法名称(参数类型 参数名称[,参数类型 参数名称])
2、引用参数(Reference Parameter )
格式:方法名称(ref 参数类型 参数名称[,ref 参数类型 参数名称])
3、输出参数(Out Parameter)
格式:方法名称(out 参数类型 参数名称[,out 参数类型 参数名称])
二、值参数与引用参数及输出参数的区别:
2.1 值参数中实参的值不随形参值变更而变更;
形参与实参值互不影响,实参传递给形参时,堆栈中就为其分配另外一部分空间。这样,两个参数变更时而互不影响。
2.2 引用参数及输出参数中实参的值会随形参值变更而变更
(形参:在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元.只有在发生函数调用时,函数中形参才被分配内存单元.在调用结束后,形参所占的内存单元也被释放。调用时将实参的值赋绐胡孝形参);
引用参数与输出参数中,实参在堆栈中分配空间。当实参传递给形参时,会将地址传递给形参,即传送的时指针,这样形参变更时,实参也会随著变更。
三、引用参数与输出参数区别:
3.1 使用ref与out参数裤兄稿时,方法中参数及调用参数都需要加Ref或out关键字
3.2 使用ref参数与out参数得到的结果是一样的,区别是:ref在调用前需给调用方法中的参数赋初值。out在调用前不需给调用方法中的参数赋尘源初值,参数在实际方法体中初始化。
2013-07-30
展开全部
简单岁游的说就两种传递。值传递。引用传递。值传递就是将外面的值传入函数。在函数中修改传入的值,外部变量喊脊值不改变如:main(){int a=1;change(a);Console.WrintLine(a);//a依旧是1;}int change(int a){a=6;} 引用传递:直接将值所在的地址传过去,因此在函数中修改此值是乎渗销会导致该值改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可郑笑含能是把实参复制到非堆栈区,保留地址,调用函数的时候去引用,其实调用一个函数的时候的汇升轿编代码是,push ebp, mov ebp esp,这个时候用ebp已经不喊笑能访问上一个桢栈了,我也是猜想,不知道正确不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |