0
点赞
收藏
分享

微信扫一扫

实现两个变量值的互换[C语言和C++的区别]

斗米 2022-08-02 阅读 127


文章前言:

   我们讨论C语言和C++再对两个变量值的交换问题上其实是在讨论C语言和C++在进行​​参数传值​​方式上的区别。

一.准备知识:

  1. C++的引用
  2. C语言指针
  3. 定义​​swap​​交换函数

二.利用指针的方式交换两个变量的值

   一.指针的方法口诀:

          实参传地址,形参指针收

(1).实参调用接口:传地址

swap(&i, &j);

(2).形参接收接口:指针收

void swap(int *p1, int *p2)

(3).完整代码:

#include<iostream>
using namespace std;
void swap(int *p1, int *p2)
{
int temp;
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main()
{
int i,j;
printf("input i and j :\n");
scanf("%d%d", &i, &j);
printf("after swap the values:\n");
swap(&i, &j);
printf("%d%2d", i, j);
return 0;
}

执行结果:

实现两个变量值的互换[C语言和C++的区别]_C++

三.利用引用的方式交换两个变量的值:

一.引用[引用即别名]的方法口诀:

          实参传变量,形参别名收

(1).实参调用接口:传递变量

swap(i, j);

(2).形参接收接口:别名收

void swap(int &p1, int &p2)

(3).完整代码:

#include<iostream>
using namespace std;
void swap(int &p1, int &p2)
{
int temp;
temp = p1;
p1 = p2;
p2 = temp;
}
int main()
{
int i,j;
printf("input i and j :\n");
scanf("%d%d", &i, &j);
printf("after swap the values:\n");
swap(i, j);
printf("%d%2d\n", i, j);
return 0;
}

执行结果:

实现两个变量值的互换[C语言和C++的区别]_c++_02

四.引用和指针传递值的区别:

  1. C++用引用的方式传值更多,因为引用是不占内存空间的。
  2. C语言用指针的方式传值更多,但是指针耗内存空间。
  3. 引用变量和变量是同时发生变化的。


举报

相关推荐

0 条评论