`
风火山林
  • 浏览: 147304 次
  • 性别: Icon_minigender_1
  • 来自: 汕尾
最近访客 更多访客>>
社区版块
存档分类
最新评论

传值调用与引用调用

阅读更多

    

值调用是指当发生函数调用时候,给形参分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参).这一过程是参数值的单向传递过程,一旦形参获得了值,便于实参脱离了关系,此后无论形参发生了什么变化,都不影响实参了.  
   
  引用调用将引用作为形参,在执行主调函数中的调用语句时候,系统自动用实参来初始化形参.这样形参就成为实参的一个别名,对形参的任何操作就直接会作用于实参.

using System;

class MethodCall
{
 public static void Main()
 {
  /*
   * 参数类型分为 in, ref, out 三种,默认为 in。
   * in 类型在子方法中修改了对应变量后,主方法中的值不会发生改变。
   * ref 类型在子方法中修改了对应变量后,主方法中的值也会发生改变。
   * out 主方法中对应的变量不需要初始化。
   *
   */  
  int a = 3, b = 4, c;
  Console.WriteLine("Before Method Call : a = {0}, b = {1}, c 未赋值", a, b);
  AMethod(a, ref b, out c);//关键在这,a为值调用,所以a=3,b为引用调用b=8,C也是引用调用C=9;
  Console.WriteLine("After  Method Call : a = {0}, b = {1}, c = {2}", a, b, c);
 }

 public static void AMethod(int x, ref int y, out int z)//通过这个方法,给
 AMethod(a, ref b, out c)的各个参数赋值

 {
  x = 7;
  y = 8;
  z = 9;
 }
}

 

分享到:
评论

相关推荐

    C++传值调用与引用调用区别实例代码

    ### C++中的传值调用与引用调用 在C++编程语言中,函数调用是一种常见的编程结构,用于执行特定任务或计算结果。当一个函数被调用时,可以通过不同的方式传递参数,其中最常见的是传值(call by value)和传引用(call...

    传值调用与引用调用.cs

    传值调用与引用调用.cs

    in.ref.out C#传值调用与引用调用

    ### in.ref.out C#传值调用与引用调用 #### 概述 在C#编程语言中,方法参数的传递方式对理解程序的行为至关重要。根据传递的方式不同,方法内部的操作可能会影响方法外部的变量,也可能完全独立。本文将详细介绍C#...

    C语言函数调用三种方式 传值调用,引用调用和传地址调.doc

    在C语言中,函数调用主要有三种方式:传值调用、传地址调用和引用调用。这三种调用方式决定了函数如何处理传递给它的参数。下面将详细讲解每种调用方式及其特点。 1. 传值调用(Value Passing) 在这种调用方式中...

    C语言函数调用三种方式传值调用,引用调用和传地址调[归类].pdf

    在C语言中,函数调用有三种主要方式:传值调用、传地址调用以及C++中的引用调用。这些方式在处理函数参数时有不同的行为,决定了函数内部对参数的影响是否能作用到原始变量。 1. **传值调用**: - 在考题一中,`...

    c#设计模式

    字段与属性.cs 属性、方法作用范围.cs 一加到一百.cs 使用接口排序(2).cs 使用接口排序(1).cs 求质数.cs 冒泡法排序.cs 九九表.cs 静态... 多态性.cs 递归求阶乘.cs 打印三角形.cs 传值调用与引用调用.cs

    C# 常用算法C# 常用算法

    无论是传值调用与引用调用的运用,递归算法的设计,还是接口在排序中的应用,都是C#程序员日常工作中不可或缺的知识点。通过深入学习和实践,可以提高代码的质量和效率,为开发更复杂的应用程序打下坚实的基础。

    Flex中函数传值调用Demo

    在Flex编程中,函数传值调用是日常开发中的常见操作。Flex是一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA)。本Demo主要展示了如何在Flex中进行函数之间的参数传递,以便实现不同功能模块...

    js-iframe-传值调用实例代码

    这个实例代码“js-iframe-传值调用”旨在演示如何通过JavaScript在父窗口和iframe之间传递数据,实现页面间的交互。我们将详细探讨这个过程中的关键知识点。 首先,我们要理解iframe的基本结构。一个iframe标签通常...

    Android NDK底层和java代码相互传值调用(实用经典Demo)

    对于自定义对象,我们需要先定义一个Java类的本地结构体(JNI类型为`jclass`),然后使用`GetObjectClass`获取类引用,`GetMethodID`获取方法ID,最后通过`CallVoidMethod`等函数调用方法。例如,传递一个自定义的`...

    CSharp一些小应用算法(包括排序、递归等)

    首先,我们来讨论传值调用与引用调用。在C#中,函数参数的传递有两种方式:传值调用和引用调用。传值调用是将变量的副本传递给函数,函数内部对参数的修改不会影响到原始变量。而引用调用则是传递变量的地址,函数...

    java中传值与传引用

    在Java编程语言中,函数调用时的参数传递方式有两种:传值(Passing by Value)和传引用(Passing by Reference)。虽然Java官方文档中并未明确指出有传引用这一概念,但在实际操作中,Java的行为类似于传引用,尤其...

    java中传值还是传引用的的认识

    "java中传值还是传引用的认识" Java 中的参数传递是值传递还是引用传递?这是一个经常引发讨论的问题。在 Java 中,参数传递是按值传递的,也就是说,传递给方法的参数是一个副本,而不是原始值本身。 当一个对象...

    JAVA中传值与引用问题

    ### JAVA中传值与引用问题详解 #### 一、引言 在计算机编程领域,特别是对于面向对象语言如Java而言,“传值”与“传引用”的概念是理解数据传递机制的关键所在。Java作为一种广泛使用的高级编程语言,在设计之初就...

    C#常规算法 九九表 递归等等

    本文将围绕“C#常规算法”这一主题,深入探讨九九表的实现、传值调用与引用调用的区别,以及如何使用接口进行排序。 首先,我们来看九九表的实现。在C#中,可以使用嵌套循环来打印九九乘法表。代码如下: ```...

    c++禁止函数的传值调用的方法

    C++ 中的函数调用方式有三种:传值调用、引用调用和指针调用。其中,传值调用是将实参的副本传递给函数体,会在栈上建立一个实参的副本,而引用和指针调用则不会建立副本。对于基本数据类型的变量,传值调用、引用...

    C# 面向对象程序设计复习源代码.rar

    "传值调用与引用调用.cs"可能演示了这两种调用方式的区别,以及在实际编程中如何选择合适的方式。 7. **静态与非静态(Static vs Non-Static)**: - 静态成员属于类,而非静态成员属于类的实例。"静态与非静态.cs...

    引用类型传值方法

    引用类型的传值行为体现在函数调用和方法参数传递上。当我们把一个引用类型变量作为参数传递给函数时,并不会创建该对象的新副本,而是复制了这个引用。这意味着函数内部对对象的任何修改都会影响到原始对象,因为...

Global site tag (gtag.js) - Google Analytics