C#函数的参数传递方式1(值传递与地址传递)
using System;
namespace class1
{
class program
{
static void Main(string[] args)
{
//值传递引用,实际参数不会变化
Console.Write("请输入a=");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入b=");
double b = double.Parse(Console.ReadLine());
double c = max(a, b);//局部实际参数
Console.WriteLine("您输入的值中比较大的是{0}", c);
//地址传递引用,实际参数会变化
int[] ex = new int[] { , , , };
Console.WriteLine("Before");
foreach (var item in ex)
{
Console.Write("\t{0}", item);
}
dou(ex);
Console.WriteLine("\nEnd");
foreach (var item in ex)
{
Console.Write("\t{0}", item);
}
}
/// <summary>
/// 值传递
/// </summary>
/// <param name="a">形式参数(参数为值类型)</param>
/// <param name="b">形式参数(参数为值类型)</param>
/// <returns></returns>
static double max(double a, double b)
{//局部形式参数
double c = a > b ? a : b;
return c;
}
/// <summary>
/// 地址传递
/// </summary>
/// <param name="array">数组参数(参数为引用类型)</param>
static void dou(int[] array)
{
for (int i = ; i < array.Length; i++)
{
array[i] = array[i] * ;
}
}
}
}

C#函数的参数传递方式1(值传递与地址传递)的更多相关文章
- c&c++函数的参数和返回值的传递终结版
c++函数的参数和返回值的传递方式有三种:值传递.指针传递和引用传递. 在这之前先看几个例子: 一, int a=10; int b=a; b+=10; 此时b是a的一个拷贝,改变b的值,a并不会受到 ...
- Java方法的参数传递方式为: 值传递
Java方法的参数传递方式为: 值传递 对于基本数据类型作为参数传递时, 是"按值传递", 这点都认识很清楚. 但是, 当对象或者说引用作为参数传递, Java 的参数传递方式是& ...
- Python——变量的引用和函数的参数和返回值的传递方式
变量的引用 在python中,所有的变量都是指向地址,变量本身不保存数据,而是保存数据在内存中的地址.我们用下面的程序来理解: a = 10 print(id(a)) a = 11 print(id( ...
- java方法参数传递方式只有----值传递!
在通常的说法中,方法参数的传递分为两种,值传递和引用传递,值传递是指将实际参数复制一份传递到方法中, 在方法中的改动将不会影响到实际参数本身,而引用传递则是指传递的是实际参数本身,在方法中的改动将会影 ...
- javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量
定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. <!DOCTYPE ht ...
- Python中定义函数时参数有默认值的小陷阱
在定义函数的时候,如果函数的参数有默认值,有两种类型的参数,一种是整数,字符串这种不可变类型,另一种是列表这种可变类型,对于第一种情况没有什么特殊的地方,但是对于可变类型,有一个微妙的小陷阱. 可变类 ...
- C语言 值传递和地址传递
不少同学在学到C语言的指针部分时感到很困惑,对经常提到的"值传递"和"地址传递"两个概念弄不 明白.实际上,因为地址本身也可以作为一个特殊的"值&qu ...
- C语言参数传递(值传递、地址传递)+二级指针
参数传递 C语言参数传递一般分为:值传递和地址传递(本质上只有值传递) (注意:C语言中没有引用传递,C++才有引用传递,因为很多C语言环境是用C++编译器编译,使得C看起来支持引用传递,导致很多网上 ...
- C语言:值传递,地址传递和引用传递(example:值交换)
于C语言中值传递.地址传递和引用传递的我个人理解. 通过一个例子:swap(交换两个整型变量的值)来表现! #include <stdio.h> void swap1(int* a,int ...
- Java中的值传递和地址传递(传值、传引用)
首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中.更何况,要想知道 ...
随机推荐
- 再次梳理AMD、CMD、CommonJS、ES6 Module的区别
AMD AMD一开始是CommonJS规范中的一个草案,全称是Asynchronous Module Definition,即异步模块加载机制.后来由该草案的作者以RequireJS实现了AMD规范, ...
- 如何使用1行代码让你的C++程序控制台输出彩色log信息
本文首发于个人博客https://kezunlin.me/post/a201e11b/,欢迎阅读最新内容! colorwheel for colored print and trace for cpp ...
- linux查看占用端口号的程序及pid
netstat -tunlp|grep 端口号 圈出来的就是pid
- RabbitMQ与Spring的框架整合之Spring Cloud Stream实战
1.RabbitMQ与Spring Cloud Stream整合实战.SpringCloud Stream整体结构核心概念图,如下所示: 图示解释:Outputs输出,即消息的发送端.Inputs输入 ...
- [转]UiPath: How to Capture a Mouse Event on Hover Menus?
本文转自:https://www.uipath.com/kb-articles/how-to-capture-mouse-event-on-hover-menus he Knowledgebase a ...
- iOS事件传递和事件响应者链 20170810
一.事件响应者链 事件传递和事件响应链 区别 事件的传递和响应的区别: 事件的传递是从上到下(父控件到子控件),事件的响应是从下到上(顺着响应者链条向上传递:子控件到父控件. 引出 当我们手指触摸屏幕 ...
- Thymeleaf对象的使用:基本对象
Thymeleaf中有许多内置对象,可以在模板中实现各种功能.下面有几个基本对象.Web对象常用有:request.session.servletContext.Thymeleaf提供了几个内置变量p ...
- grant localhost and % for mysql
- 38-docker managed volume
docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了.还是以 httpd 容器为例: 我们通过 - ...
- HTML标记一览表