函数传址调用的基本解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 函数传址调用的基本解析

在c语言中函数发挥着简便运算以及增加代码可读性的作用,而自定义函数更是使代码的运算更加灵活,一般的传值调用无法直接更改参数的数值。就如该函数中如此,结果没有变化。

image.pngimage.png

调试之后我们发现,在程序结束的时候a和b的值并不会因为x y值的变化而变化,因而即便在函数中x y交换了值,但是依然不会对a b造成实际影响。

7b447870ec1949268aeb6ffb9059bfc8.png

同时还要提到一点,调试!!!!!真的超级好用,只要你有足够耐心跟着程序一条条分析,自己找出问题的成就感真的会远比别人看出错误的感觉来得直接和强烈,同时关于这个知识点自己影响也会更加深刻。


在函数中a b为实际参数而x y为形式参数,即为实际参数的一份临时拷贝。可以理解为直接传值的话二者并没有什么直接的联系。


由于不会用return返回两个数,这时候我们就要用到传址来运行代码,因为根据一个数的指针我们可以直接定位到改数值并进行修改。

image.png

传参的时候用&(取地址符号)取a b的地址传输到函数之中,在函数之中进行接收,由于传输过来的是地址,而指针变量的数据类型为int*所以用int*进行定义。之后交换之时使用*(解引用操作符)使我们可以顺着地址找到原来的a b进行修改。之后我们在函数中对其的修改就能在主函数中直接体现。


在函数中一定要带上*不然实际上的操作并不会影响到实际数值

目录
相关文章
|
26天前
|
SQL 数据挖掘 测试技术
南大通用GBase8s数据库:LISTAGG函数的解析
南大通用GBase8s数据库:LISTAGG函数的解析
|
20天前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
28 5
|
27天前
|
机器学习/深度学习 自然语言处理 语音技术
揭秘深度学习中的注意力机制:兼容性函数的深度解析
揭秘深度学习中的注意力机制:兼容性函数的深度解析
|
3月前
|
存储 前端开发 JavaScript
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
本文介绍了JavaScript中作用域的概念,包括全局变量和局部变量的区别,预解析机制(变量提升),以及函数返回值的使用和类型。通过具体示例讲解了变量的作用域、函数的返回值、以及如何通过return关键字从函数中返回数据。
25 1
前端基础(十二)_函数高级、全局变量和局部变量、 预解析(变量提升)、函数返回值
|
2月前
|
存储
atoi函数解析以及自定义类型经典练习题
atoi函数解析以及自定义类型经典练习题
50 0
|
2月前
|
数据处理 Python
深入探索:Python中的并发编程新纪元——协程与异步函数解析
深入探索:Python中的并发编程新纪元——协程与异步函数解析
31 3
|
2月前
|
机器学习/深度学习 算法 C语言
【Python】Math--数学函数(详细附解析~)
【Python】Math--数学函数(详细附解析~)
|
2月前
|
安全 编译器 C++
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
【C++篇】C++类与对象深度解析(三):类的默认成员函数详解
25 3
|
3月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
4月前
|
SQL 数据处理 数据库

推荐镜像

更多