传递值(pass by value)和通过引用传递(pass by reference)的区别

传递值和传递引用之间的主要区别在于,在传递值中,参数值复制到另一个变量,而在传递引用中,实际参数传递到函数。...

传递值和传递引用之间的主要区别在于,在传递值中,参数值复制到另一个变量,而在传递引用中,实际参数传递到函数。

计算机程序是一组指令,用来指导CPU执行某项任务。在编程中有各种各样的概念来编写高效的程序。其中之一是function,它是一组可重用的语句。与其把所有的语句都写在同一个程序中,不如把它分成几个函数,然后在主程序中调用它们。这使得程序更易于管理和维护。在这种情况下,调用函数有两种方法。它们是通过使用“按值传递”或“按引用传递”来实现的。

覆盖的关键领域

1.什么是传递值-定义,功能2.什么是传递引用-定义,功能3.传递值和传递引用之间的区别是什么-关键区别的比较

关键术语

传递值,传递引用

传递值(pass by value)和通过引用传递(pass by reference)的区别

什么是传递值(pass by value)?

在传递值中,函数参数的值被复制到内存的另一个位置。当访问或修改函数中的变量时,它只访问副本。因此,对原值没有影响。

Difference Between Pass by Value and Pass by Reference

Figure 1: C program with pass by value

在上面演示的程序中,变量值存储整数5。findNewValue是一个函数。值被传递给该函数。在函数中,值被复制到一个名为newValue的新内存位置。然后函数返回一个整数。并且,这个整数存储在main函数的newValue变量中。最后,在控制台上打印newValue。

在函数中,复制到新内存位置的值称为newValue。更改是对该新值进行的,而不是对原始值。此方法称为按值传递。

什么是通过引用传递(pass by reference)?

在按引用传递中,内存地址被传递给该函数。换句话说,函数可以访问实际变量。下面是一个例子。

Main Difference - Pass by Value vs Pass by Reference

Figure 2: C program with pass by reference

变量值存储整数5。findNewValue是一个函数。内存位置“value”的地址被传递给该函数。因此,函数得到这个值。newValue是指针。它指向名为value的原始内存位置。该函数将newValue指向的原始值加5。然后,返回计算值并将其存储到newValue变量中。最后,在控制台上打印newValue。

在这种方法中,内存位置传递给函数。因此,将对原始值进行更改。因此,此方法称为按引用传递。

传递值(pass by value)和通过引用传递(pass by reference)的区别

定义

传递值是指将函数参数值复制到另一个变量的机制,而传递引用是指将实际参数传递到函数的机制。因此,这是传递值和传递引用之间的主要区别。

变化

在传递值中,函数内部所做的更改不会反映在原始值中。另一方面,在pas**yreference中,函数内部所做的更改将反映在原始值中。因此,这是传递值和传递引用之间的另一个区别。

实际参数

此外,pass-by-value生成实际参数的副本。但是,在按引用传递中,实际参数的地址传递给函数。

与功能的关联

传递值和传递引用之间的另一个区别是,在传递值中,函数获取实际内容的副本,而在传递引用中,函数访问原始变量的内容。

内存要求

此外,pass-by值比pass-by引用需要更多的内存。

时间要求

时间要求是传递值和传递引用之间的另一个区别。传递值需要更多的时间,因为它涉及到复制值,而传递引用需要更少的时间,因为没有复制。

结论

传递值和传递引用之间的主要区别在于,在传递值中,参数值复制到另一个变量,而在传递引用中,实际参数传递到函数。

引用

1.“C中的函数–Javatpoint”,Www.Javatpoint.com,可在此处获得。

  • 发表于 2021-07-01 08:19
  • 阅读 ( 469 )
  • 分类:IT

你可能感兴趣的文章

外面的(out)和参考c#(ref in c#)的区别

...ain()开始。这是一个方法的例子。调用方法时,数据被传递到方法或从方法接收。调用新方法的方法称为调用方法。新方法称为被调用方法。为了管理传递的值和返回结果,C使用参数。它们是有值参数、输出参数和参考参数...

  • 发布于 2020-10-18 20:42
  • 阅读 ( 233 )

值类型(value type)和参考类型(reference type)的区别

...示例。e、 g.–枚举颜色{黑色、白色、紫色}。enum关键字通过指定从0开始的值来自动枚举单词列表。根据上面的例子,黑色被分配给0,白色被分配给1,紫色被分配给2。如果它被写为enum Color{black,white=3,purple},那么黑色被赋值...

  • 发布于 2020-10-19 07:42
  • 阅读 ( 504 )

按值调用(call by value)和通过引用调用(call by reference)的区别

...值调用和按引用调用。在按值调用方法中,变量的副本被传递到函数中。如果函数的值发生更改,则不会更改原始值。在引用调用中,函数内部变量的更改反映原始值。按值调用和按引用调用的关键区别在于,在按值调用中,变...

  • 发布于 2020-10-20 00:32
  • 阅读 ( 492 )

传导(conduction)和归纳(induction)的区别

...感应的关键区别在于,在传导中,能量是通过使用物质来传递的,而在感应中,不需要任何介质或接触来传递能量。 什么是传导(conduction)? 传导是以热或电的形式传递能量的过程。在热传导中,介质中的原子振动并传递热量,...

  • 发布于 2020-10-21 08:06
  • 阅读 ( 405 )

欧洲铁路全球通行证(eurail global pass)和欧洲铁路选择通行证(eurail select pass)的区别

...旅行都可以买票,但你可以选择提前购买***,以利用许多通过车票无法获得的功能和设施。你也可以通过这些***来省钱。两种流行的***是全球***和选择***。本文将更仔细地研究这两种不同的***的特性,以使非欧洲人能够节省资金...

  • 发布于 2020-10-23 01:02
  • 阅读 ( 184 )

头等舱(first class)和欧洲铁路二等票(second class eurail passes)的区别

...等车厢有2-3张床。 如果你能节省一些额外的钱,你可以通过头等舱的***,坐更少拥挤、更舒适的火车车厢四处走动。不过,有了二等票,你也可以省钱。买头等舱的票比二等舱的票贵50%,但头等舱的票只比二等票贵25%。但是,...

  • 发布于 2020-10-24 11:36
  • 阅读 ( 381 )

指针(pointer)和参考(reference)的区别

...个指针:头指针和尾指针。指针也可以用来按变量的地址传递变量,这样可以更改值。直接操作内存或内存映射设备也可以通过使用指针来处理。 指针允许对寻址内存进行受保护和无保护的访问。因此,必须采取必要的预防措...

  • 发布于 2020-10-28 19:41
  • 阅读 ( 258 )

r值(r value)和u值(u value)的区别

...下: U值测量在标准条件下通过给定区域的建筑构件的热传递速率。通常,这种测量的标准包括在没有风的50%湿度下24摄氏度的温差。测量单位通常为瓦特/米平方开尔文或W/m2.K。因此,U值越高,建筑围护结构的热性能越差。换...

  • 发布于 2021-03-04 15:46
  • 阅读 ( 1026 )

过去的(past)和通过(passed)的区别

...失败;通过的考试。完成海军考试:通过的海军军官。 传递用作动词: “Passed”用作动词的方式多种多样。我们来看看其中的一些只是为了得到一个想法: 要移动过去,例如: 我们在高速公路上经过一辆汽车。 在这里,我们...

  • 发布于 2021-06-23 18:46
  • 阅读 ( 210 )

吸光度(absorbance)和透射率(transmittance)的区别

...接将透射率与吸光度相加并不能得到总的入射光。 当光通过一种材料时,它被材料中的分子吸收。因此,当光通过材料时,光的强度随距离呈指数下降。通过测量入射光和透射光的强度,可以很容易地测量样品溶液的透射率。...

  • 发布于 2021-06-27 03:21
  • 阅读 ( 388 )
n93643cv
n93643cv

0 篇文章

相关推荐