请问地址传递和值传递有啥区别

地址传递和值传递的区别是:地址传递由于形参和原参表示同一个内容,在子函数中修改形参,也会改变主函数中的原参。值传递只是把原参的复制品传给形参,在子函数中修改这个形参,不会改变主函数中的原参。

请问地址传递和值传递有啥区别-Worktile社区

地址传递

地址传递由于形参和原参表示同一个内容,在子函数中修改形参,也会改变主函数中的原参。

地址传递的实质:谓的地址传递,指的就是函数的参数是数组名或者指针。传递的是数组的首地址或指针的值,而形参接收到的是实参的地址,即指向实参的存储单元,形参和实参占用相同的存储单元,所以形参和实参是相同的。

地址传递的特点:形参并不存在存储空间,编译系统不为形参数组分配内存。因此在数组名或指针作函数参数时所进行的传送只是地址传送,形参在取得该地址之后,与实参共同拥有一段内存空间,形参的变化也就是实参的变化。

值传递

值传递只是把原参的复制品传给形参,在子函数中修改这个形参,不会改变主函数中的原参。

值传递的实质:将实参的值(a、b)复制到形参(m、n)相应的存储单元中,即形参和实参分别占用不同的存储单元。

值传递的特点:值传递的特点是单向传递,即主调函数被调用时给形参分配存储单元,把实参的值传递给形参,在调用结束后,形参的存储单元被释放,而形参值的任何变化都不会影响到实参的值,实参的存储单元仍保留并维持数值不变。

延伸阅读:

什么是C语言?

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。 [2]

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

文章标题:请问地址传递和值传递有啥区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37813

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:27
下一篇 2023年2月12日 下午4:30

相关推荐

  • 应该如何处理员工的不当行为

    处理员工不当行为是组织管理的一个敏感和重要方面,关系到企业文化和员工满意度。本文详细讨论了处理员工不当行为的流程和策略:1、定义和识别不当行为,2、及时沟通和调查,3、公正和透明的处罚流程,4、关注员工的心理健康和支持,5、强化组织文化和价值观教育,6、实施有效的预防措施。其中,公正和透明的处罚流程…

    2023年8月9日
    45900
  • devops平台解决什么问题

    开门见山,DevOps平台旨在提升软件开发质量与交付速度,缩短开发周期,增强部署的稳定性和安全性,并且提升跨部门的协作效率。主要问题涉及:1、加速产品迭代、2、改善开发与运维间的协作、3、降低软件部署风险、4、持续交付和集成、5、资源管理和优化,等五个方面。针对加速产品迭代,DevOps平台借助自动…

    2024年3月26日
    7600
  • 阿拉丁史文禄:恐惧于确定的未来,小程序年内将迎来爆发

    文| babayage 编辑 |笑 笑 有这样一类创业者,他们并不执念于物质与功名,而是沉迷于探究时代的底层脉搏,小有把握便躬身入局。只要为之投身奋斗的行业如期崛起,即便自己磕得头破血流,也会大笑着举杯豪饮,高呼“痛快,痛快!” 史文禄,就是这样一位连续创业者。 有人恐惧于未知有人恐惧于确定 “在国…

    2022年3月20日
    72400
  • jpa 和 hibernate 有什么区别

    JPA和Hibernate之间的主要区别在于JPA是一个规范,而Hibernate是Red Hat对JPA规范的实现。只有一个JPA规范。JPA规范通过Java社区进程(JCP)协同开发,更新作为Java规范请求(JSR)发布。如果社区同意JSR中提出的所有更改,则会发布新版本的API。

    2023年2月7日
    89600
  • 研发产品的项目管理

    针对“研发产品的项目管理”,有效的项目管理对于确保产品从构想到市场的成功过渡至关重要。关键要素包括1、清晰的项目目标设置,2、全面的资源规划,3、严格的进度控制,4、灵活的风险应对,5、持续的沟通机制。在这些核心要素中,资源规划扮演着重要角色,确保团队、财务和物理资源的有效配置是实现项目目标的基础。…

    2024年1月10日
    18700
  • 不收费的办公软件有哪些

    不收费的办公软件有:一、钉钉;二、WPS Office;三、网易邮箱;四、扫描全能王;五、CAD看图王;六、石墨文档;七、手机Word文档;八、腾讯文档;九、手机PPT;十、Word文档表格编辑。钉钉多元化的办公功能是本款app的一大特色,用户们还可以轻松发送各种办公文件。 一、钉钉 多元化的办公功…

    2023年3月31日
    2.2K00
  • 海王星辰oa系统

    标题:海王星辰OA系统的核心特性及应用分析 摘要:海王星辰OA系统涵盖多用户协作、信息管理效率化、数据安全、流程自动化四大核心特点。该系统以多用户协作为基础,实现企业内部沟通和资源共享的高效运作。在众多特性中,多用户协作被视为办公自动化的推动力,成为现代企业提升工作效率、协同作业的基石。通过设置不同…

    2024年1月15日
    23400
  • devops主要做什么

    DEVOPS主要着眼于实现软件开发(DEV)与信息技术运维(OPS)的协同工作。精髓体现在三点:1、加快交付速度;2、提升服务稳定性;3、加强团队间协作。特别地,加快交付速度通过自动化流程来缩短开发周期,包括代码构建、测试和部署等环节,从而更快地推出产品功能和修复。 一、概述 DEVOPS作为一种文…

    2024年3月26日
    6900
  • 单目相机和可见光相机有什么区别

    单目相机和可见光相机的区别有:1、成像原理不同;2、应用场景不同;3、成本和价格不同;4、成像效果不同;5、装置大小和重量不同;6、适用条件不同。其中,成像原理不同指的是,单目相机只使用一个镜头来捕获图像,而可见光相机主要是捕捉人眼可见的光线。 1、成像原理不同 单目相机:仅使用一个镜头捕获图像,无…

    2023年7月30日
    54600
  • 系统集成项目管理有哪些

    在针对系统集成项目管理的探讨中,可归纳出主要包含了1、项目启动及规划、2、范围管理、3、时间管理、4、成本管理、5、质量管理、6、人力资源管理、7、沟通管理、8、风险管理、9、采购管理以及10、利益相关者管理。这些方面构成了系统集成项目管理的框架,都是至关重要的环节。 以时间管理为例,其在系统集成项…

    2024年1月8日
    41400

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部