按值调用(call by value)和按地址呼叫(call by address)的区别

按值调用和按地址调用的主要区别在于,在按值调用中,实际参数的值复制到函数的形式参数,而在按地址调用中,实际参数的地址复制到函数的形式参数。...

按值调用和按地址调用的主要区别在于,在按值调用中,实际参数的值复制到函数的形式参数,而在按地址调用中,实际参数的地址复制到函数的形式参数。

函数是一组语句,可以多次执行某个任务。我们可以将程序分成几个函数,并在必要时调用它们,而不是在main方法中编写所有的程序语句。此外,这使程序可重用,更易于阅读。与函数相关的参数有两种类型:实际参数和形式参数。实际参数是调用函数时传递给函数的值,而形式参数是调用函数时接收值的函数内部的变量。在诸如“C”之类的编程语言中,调用函数的两种方法是按值调用和按地址调用。

覆盖的关键领域

1.什么是按值调用-定义,功能2.什么是按地址调用-定义,功能3.按值调用和按地址调用之间的区别是什么-关键区别比较

关键术语

按值调用、按地址调用、函数调用

按值调用(call by value)和按地址呼叫(call by address)的区别

什么是按值调用(call by value)?

函数执行定义的任务并返回答案。如果返回类型为void,它将执行任务并且不返回任何值。在按值调用中,实际参数被复制到函数的形式参数。函数使用形式参数中的值,而不是实际参数。因此,原始值不会更改。下面是一个例子。

Difference Between Call by Value and Call by Address

Figure 1: Program with call by value

在上面的示例中,main方法中有两个整数值“a”和“b”。swap函数获取这两个值。在函数内部,“a”值被复制到x,b值被复制到y。因此,x是10,y是20。在函数中,temp变量有助于交换这两个值。现在x是20,y是10。在执行函数之后,控制传递回主函数。当打印“a”和“b”时,它会打印原始值,即“a”为10,“b”为20。因此,这就是按值调用。在这种情况下,实际值不变。但是,这种变化只反映在函数内部。

什么是按地址呼叫(call by address)?

地址调用的另一个名称是指针调用。按地址调用方法将参数的地址复制到形式参数中。函数使用地址访问实际值。因此,函数内部所做的更改将反映在原始值中。下面是一个例子。

Main Difference - Call by Value vs Call by Address

Figure 2: Program with call by Address

在上面的例子中,主程序中有两个整数“a”和“b”。“a”和“b”的地址传递给函数。函数获取这些地址。temp变量有助于交换这两个值。当函数使用地址对实际值进行操作时,函数内部的更改在主程序中可见。因此,即使实际的“a”和“b”值是10和20,现在“a”值是20,“b”值是10。

按值调用(call by value)和按地址呼叫(call by address)的区别

定义

按值调用是通过将参数的实际值复制到函数的形式参数来向函数传递参数的一种方法,而按指针调用是通过将参数的地址复制到函数的形式参数来向函数传递参数的一种方法。

功能

在按值调用中,实际参数的值复制到函数的形式参数。但是,在按地址调用中,实际参数的地址复制到函数的形式参数。因此,功能性是按值调用和按地址调用之间的主要区别。

对原始值的影响

按值调用和按地址调用之间的另一个主要区别是它们对原始值的影响。按值调用不影响原始值,而按地址调用影响原始值。

结论

按值调用和按地址调用的主要区别在于,在按值调用中,实际参数的值复制到函数的形式参数,而按地址调用时,实际参数的地址复制到函数的形式参数。简而言之,按值调用不会更改原始值,而按地址调用会更改原始值。

引用

1.“C函数”。Www.tutorialspoint.com,Tutorials Point,可在此处获得。

  • 发表于 2021-07-01 10:09
  • 阅读 ( 195 )
  • 分类:IT

你可能感兴趣的文章

系统调用(system call)和图书馆呼叫(library call)的区别

关键区别-系统调用与库调用 系统调用和库调用与计算机的操作系统有关。计算机可以在两种模式下运行,即用户模式和内核模式。系统调用和库调用的关键区别在于,系统调用是内核提供的进入内核模式访问硬件资源的函数...

  • 发布于 2020-10-20 00:18
  • 阅读 ( 576 )

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

关键区别——按值调用与按引用调用 许多编程语言都使用函数。函数是执行特定任务的一组语句。主代码可以分为几个函数并调用它们。调用函数有两种方法,如按值调用和按引用调用。在按值调用方法中,变量的副本被传...

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

阿贾克斯(ajax)和jquery公司(jquery)的区别

...pt代码简化为一行代码。jQuery封装并简化了非常复杂的Ajax调用和DOM。jQuery的部分功能实现了一个高级接口来处理AJAX请求。jQuery检测用户的操作并相应地修改web页面上的元素。jQuery在前端动态地执行所有工作。因此,无论何时需...

  • 发布于 2020-10-27 15:54
  • 阅读 ( 219 )

如何在mac和iphone上使用实时文本(rtt)通话

...种更准确的方式来快速交换数据,如数字或地址。由于RTT调用允许您进行静默通信,因此在公共环境中传递敏感数据时,RTT调用也很有用。 ...

  • 发布于 2021-03-21 15:23
  • 阅读 ( 330 )

同一wi-fi网络上的两台计算机是否具有相同的ip地址?

...but I wondered if two computers on the same Wi-Fi network have the same IP address? For example, my dad’s computer and my computer at home. If so, how does the outside world distinguish one computer from the other (like when a server wants to send some data back to us)? 这两台计算机的IP地...

  • 发布于 2021-04-11 07:22
  • 阅读 ( 239 )

是什么阻止你改变你的公共ip地址并在互联网上造成严重破坏?

...an ISP and I’m using cable internet access. The ISP gives me a public IP address of 60.61.62.63. What keeps me from changing this IP address to, let’s say, 60.61.62.75, and messing with another c***umer’s internet access? For the sake of this argument, let’s say that this other IP address is...

  • 发布于 2021-04-11 15:23
  • 阅读 ( 198 )

我的计算机中的ram能容纳多少个内存地址?

...小如何协同工作以产生地址总数。他写道: How many memory addresses can we get with a 32-bit processor and 1GB ram and how many with a 64-bit processor? I think that it’s something like this: 1GB of ram divided by either 32 bits  4  bits (?) to get the number of memory addresses?...

  • 发布于 2021-04-11 18:59
  • 阅读 ( 235 )

本地ip地址和本地ip地址有什么区别?

...ely noticed that there’s a difference between the localhost the local IP address. Read on to learn the differences. 今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。 问题 超级用户读者Diogo想知道...

  • 发布于 2021-04-12 00:27
  • 阅读 ( 263 )

如何让你的android手机告诉你在哪里丢的

...心。 三。Variables–>变量集:%EMAIL\u TO TO“your\u EMAIL\u address”–默认的电子邮件收件人。3a.在上述步骤中,如果未设置:%EMAIL\u TO–仅在尚未设置的情况下设置变量。如果您有理由更改收件人,可以从呼叫任务中进行更改。 4Var...

  • 发布于 2021-04-12 19:02
  • 阅读 ( 165 )

t-mobile美国取消1900个工作岗位,还有更多

... evolve. These are not easy steps to take — or, I know, to read. We must address our business realities so we can focus on getting T-Mobile back to growth. Our commitment, as we go through this process, is to provide clear perspective and understandable rationale, be forthright in our communicati*...

  • 发布于 2021-04-21 17:39
  • 阅读 ( 297 )
srhg5569
srhg5569

0 篇文章

相关推荐