当前位置: 首页 > news >正文

值传递和址传递

值传递

上面的代码是想要交换x,y的值,把x,y传递给swap函数之后,执行下面的操作:

在swap中a和b交换了,但是和x,y没有关系,所以x,y在main中不会变。

址传递

下面再看把x,y的地址&x,&y传给swap,swap使用两个指针变量接受它们。

swap中的*a,*b是对地址的解引用,即*a就是x,*b就是y。所以交换了x和y的值

下面是具体步骤:

交换两个变量的指针不会改变变量的地址,也不会改变变量的值

再看交换x和y的指针,这个交换的是a,b指向的地址,并没有交换 x和y的值

想要交换x和y的地址是不能实现的。因为这些变量通常存储在栈(stack)或堆(heap)的固定位置,并且它们的地址是由编译器或运行时环境自动管理的。

引用:交换变量的值

下面是使用引用的方法交换两个变量的值,

把x,y传给swap,swap使用&a,&b接受。引用就相当于形参通过别名的方式操作实参。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/11040.html

相关文章:

  • C语言:头歌使用函数找出数组中的最大值
  • Spring框架的原理及应用详解(三)
  • 【计算机视觉】人脸算法之图像处理基础知识(五)
  • 178.二叉树:最大二叉树(力扣)
  • word空白页删除不了怎么办?
  • Linux C编译器从零开发一
  • JVM 根可达算法
  • C++ 20新特性之线程与jthread
  • Matlab的Simulink系统仿真(simulink调用m函数)
  • 一文搞定 大语言模型(LLM)微调方法
  • C# Winform 用户控件,扩展控件,自定义控件综合实例
  • STM32项目分享:智能窗帘系统
  • IT入门知识博客文章大纲第二部分《编程语言》(2/10)
  • Qt QStackedWidget类详细分析
  • SVN 报错Error: Unable to connect to a repository at URL解决方法
  • 【考研数据结构——C语言描述】第四章 串
  • MySQL的高可用方案:深入Galera Cluster和ProxySQL
  • 【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数
  • Golang - 连接MySQL执行查询脚本
  • OpenAI 宕机事件:GPT 停摆的影响与应对
  • Flink 命令行提交、展示和取消作业
  • 安装golang
  • 【机器学习】神经网络与深度学习:探索智能计算的前沿
  • Python基础教程(十五):面向对象编程
  • 聚焦赛宁网安竞赛平台+赛事服务,引领网络安全竞赛新潮流
  • 浏览器无痕模式和非无痕模式的区别
  • 低功耗蓝牙ble开发(一)——bluez介绍及源码分析
  • 操作系统复习
  • Java | Leetcode Java题解之第151题反转字符串中的单词
  • 【Quartus 13.0】EP1C3144I7 部署4*6矩阵键盘