#include <stdio.h>
#include <stdlib.h>
// 问 java 中有值传递和引用传递 吗? 他们的区别是什么?
// 其实在java中只有值传递 , 没有引用传递
// Person p = new Person(); p里面存放的内容 就是person对象的地址
void swap2(int* p , int* q){ // 传递的形参为 i 和j 变量的地址
// *p 代表 i *q 代表就是 j
int temp;
temp = *p;
*p = *q;
*q = temp;
}
void swap1(int i ,int j){ // 形参 i 和j 跟主函数里面的i和j是两个不同的变量
printf("子函数 i 地址%#X\n",&i);
printf("子函数 j 地址%#X\n",&j);
int temp;
temp = i;
i = j;
j = temp;
}
main()
{
//利用指针 可以在子函数里面修改主函数里面的数据
int i = 3;
int j = 5;
printf("i=%d\n",i);
printf("j=%d\n",j);
printf("主函数 i 地址%#X\n",&i);
printf("主函数 j 地址%#X\n",&j);
/*/交换两个数字
int temp;
temp = i;
使用指针交换两个数据
最新推荐文章于 2023-10-31 19:29:53 发布
这篇博客探讨了C语言中如何使用指针来交换两个变量的值。通过对比值传递和引用传递的区别,指出Java中只有值传递。然后展示了两种交换方式:一种在函数内部直接交换值,但因作用域问题导致交换无效;另一种通过指针交换,成功修改了主函数的变量值。
摘要由CSDN通过智能技术生成