传值引用和调用引用的区别
只需要记住一句话:
传值引用一般就是生成一个临时对象,而引用调用是调用参数本身。
参照下面C语言代码理解:
在 test.h文件里实现两个方法
#include <stdio.h>
/*交换两个数*/ void exchange(int x,int y){ int temp; temp = x; x = y; y = temp; printf("交换后第一个数:\n%d\n交换后第二个数:\n%d\n",x,y); } /*交换两个数的指针*/ void exchangeAddress(int *x,int *y){ int temp = *x; *x = *y; *y = temp; printf("交换后第一个数:\n%d\n交换后第二个数:\n%d\n",*x,*y); }
在 test.c文件里调用这两个方法如下:
#include <stdio.h> #include "test.h" int main(){ int a, b; printf("请输入a: \n"); scanf("%d",&a); printf("请输入b: \n"); scanf("%d",&b); exchange(a,b); printf("交换后:\n a=%d\n b=%d\n",a,b) ; exchangeAddress(&a,&b); printf("交换地址:\n a=%d\n b=%d\n",a,b) ; }
打印结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理