当前位置: 首页 > 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接受。引用就相当于形参通过别名的方式操作实参。

相关文章:

  • 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 停摆的影响与应对
  • 赵心童世锦赛历史性夺冠,你今天打斯诺克很可能订不到位
  • 沙发上躺赢又如何?告别冠军绝缘体的凯恩,要开始收割荣誉了
  • 英国地方选举结果揭晓,工党保守党皆受挫
  • 沈晓萍︱严金清:比斯坦因更早获得敦煌文物的无锡名士
  • 向左繁华都市,向右和美乡村,嘉兴如何打造城乡融合发展样本
  • 耶路撒冷发生山火,以防长宣布紧急状态