按地址呼叫(call by address)和通过引用调用(call by reference)的区别

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

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

通常,函数是一组允许多次执行任务的语句。函数有助于提高程序的可读性。在C++等编程语言中,执行从主方法开始,并且可以从主方法调用其他函数或方法。这些语言有各种方法来调用函数。C++中的两种方法是“按地址调用”和“按引用调用”。

覆盖的关键领域

1.什么是按地址调用-定义,功能2.什么是按引用调用-定义,功能3.按地址调用和按引用调用的区别-主要区别比较

关键术语

C++,通过地址调用,指针调用,调用,函数,指针,引用

按地址呼叫(call by address)和通过引用调用(call by reference)的区别

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

按地址调用也称为按指针调用。在这种方法中,程序员将实际参数的地址传递给形式参数。然后,函数使用地址访问实际参数。换句话说,对形式参数所做的更改会影响实际参数。要通过指针传递值,参数指针被传递到与任何其他值类似的函数。示例程序如下。

Difference Between Call By Address and Call By Reference

Figure 1: C++ program with call by address

主程序中有两个整数:a'和b'。“a”和“b”的地址被传递给函数。因此,函数获取这些地址。而且,temp变量有助于交换这两个值。然后,函数使用地址对实际值进行操作。因此,我们可以观察到函数内部所做的更改在主程序中是可见的。最后,我们可以看到这两个值是交换的。现在“a”有20个,“b”有10个。

什么是通过引用调用(call by reference)?

在理解引用调用的概念之前,理解引用变量的概念是很重要的。假设以下代码。

int a=10;

内景&b=a;

这里,b是一个参考变量。这些变量本身不占用任何内存空间。因此,它共享已分配变量的内存。换言之,b与a共享记忆。当程序员改变实际变量时,参考变量也会改变。如果程序员改变了a,它反映在b中,如果他改变了b,那么a将使用b的新值。同样,引用变量有助于节省内存。

在按引用调用中,参数的引用复制到形式参数。在函数内部,程序员可以使用引用来访问实际参数。因此,对参数所做的更改会影响实际参数。此外,为了通过引用传递值,参数引用就像其他任何值一样传递给函数。

Main Difference - Call By Address vs Call By Reference

Figure 2: C++ program with call by reference

在主程序中,主程序中有两个整数:“a”和“b”。这两个值被传递给swap函数。在swap函数中,p和q是形式参数。&p和&q表示它们是参考变量。然后swap函数对值进行更改。最后,交换的值显示在控制台上。

按地址呼叫(call by address)和通过引用调用(call by reference)的区别

定义

按地址调用是一种调用函数的方法,其中实际参数的地址被复制到形式参数。但是,通过引用调用是一种通过将参数的引用复制到形式参数中来向函数传递参数的方法。因此,这就是按地址调用和按引用调用之间的区别。

功能

此外,按地址调用和按引用调用之间的另一个区别是它们的功能。在按地址调用中,程序员将实际参数的地址传递给形式参数,而在按引用调用中,程序员将实际参数的引用传递给形式参数。

内存分配

此外,在按地址调用中,内存同时分配给实际参数和形式参数,而在按引用调用中,内存只分配给实际参数,形式参数共享该内存。

结论

简而言之,按地址调用和按引用调用是向函数传递值的两种方法。按地址调用和按引用调用的主要区别在于,在按地址调用中,参数的地址复制到函数的形式参数,而在按引用调用中,参数的引用复制到函数的形式参数。

引用

1.古普塔,桑杰。07 C函数调用的按值调用、按地址调用和按引用调用方法,YouTube,2017年1月3日,此处提供。2.Tutorialspoint.com。”C函数通过指针调用。”Www.tutorialspoint.com,可在此处获得。3.Tutorialspoint.com。”C函数调用,请参阅Www.tutorialspoint.com。 2.Tutorialspoint.com。”C函数的指针调用。”Www.tutorialspoint.com, 3.Tutorialspoint.com。”C函数调用的引用。”Www.tutorialspoint.com,

  • 发表于 2021-07-01 23:24
  • 阅读 ( 511 )
  • 分类:IT

你可能感兴趣的文章

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

...收消息都可以使用通信系统调用来完成。 什么是图书馆呼叫(library call)? 库调用是由编程库提供的函数。在调用库之前,应该导入该库。库调用可能依赖于系统调用。 在C语言中,这些函数可以通过包含头文件在程序中使用。使...

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

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

...中,变量的副本传递给函数,而在按引用调用中,变量的地址传递给函数。本文讨论了按值调用和按引用调用的区别。 目录 1. 概述和主要区别 2. 什么是按价值调用 3. 什么是参照调用 4. 值调用和引用调用的相似性 5. 并列比较-...

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

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

...变量和引用变量用于访问这些数据并操作它们所在的内存地址。也就是说,指针和引用都可以用来间接引用对象。它们基本上把内存地址作为它们的值。指针和引用之间的关键区别在于指针是存储另一个变量内存位置地址的变量...

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

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

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

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

围绕可调整大小的对象的八个白色正方形叫什么?

... has changed or not. Those of us who learned the tech many years ago still refer to them as “grabber handles”, but “selection handles” or “resize handles” sounds much more dignified. I do not like just “handles” because the word is too overloaded and thus ambiguous. Do not use it unl...

  • 发布于 2021-04-08 07:37
  • 阅读 ( 254 )

我的计算机中的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
  • 阅读 ( 239 )

bdc公司(bdc)和调用事务(call transaction)的区别

...另一方面,调用事务接口最重要的方面是同步处理。 2.在呼叫交易中,转移发生在处理自身时。在BDC中,在前一个事务完全写入数据库之前,不会启动新的事务。 3.批量数据通信传输大量数据时,调用事务只传输少量数据。 4.与...

  • 发布于 2021-06-23 07:06
  • 阅读 ( 149 )

群众(mass)和重量(weight)的区别

主要区别-质量与重量 在日常使用中,我们可以互换使用质量和重量这两个术语。不过,两者在技术上有区别。质量和重量的主要区别在于,质量是对物体中物质数量的测量,而重量是对物体在引力场中所感受到的力的测...

  • 发布于 2021-06-27 05:21
  • 阅读 ( 962 )

折射(refraction)和反射(reflection)的区别

...于反射角。入射光、反射光和法线都在一个平面上。镜子通过反射落在上面的光来工作。相比之下,透明玻璃反射的入射光很少,而让大部分光线通过。 Reflecti*** 什么是折射(refraction)? 折射是波从一种介质进入另一种介质时发...

  • 发布于 2021-06-27 05:23
  • 阅读 ( 696 )

多孔性(porosity)和渗透(permeability)的区别

主要区别——孔隙度与渗透率 孔隙度和渗透率都是岩石和土壤的特性。孔隙度和渗透率之间的主要区别在于孔隙度是岩石之间空间的度量,而渗透率是流体在岩石之间流动的容易程度的度量。 什么是多孔性(porosity)? 孔...

  • 发布于 2021-06-27 06:57
  • 阅读 ( 163 )
Atlannovel
Atlannovel

0 篇文章

相关推荐