21xrx.com
2024-11-08 22:23:09 Friday
登录
文章检索 我的文章 写文章
C++指针:交换两个整数的值
2023-07-04 23:19:49 深夜i     --     --
C++ 指针 交换 整数

C++中指针是一种非常重要的数据类型之一,使用指针可以更加灵活方便的操作内存中的数据。在程序中常常会涉及到对两个变量的值进行交换,本篇文章将介绍如何使用指针来实现对两个整数的值进行交换。

首先,我们来看一下不使用指针实现交换两个整数的值的代码:


#include <iostream>

using namespace std;

void swap(int a, int b)

  int temp = a;

  a = b;

  b = temp;

int main()

{

  int num1 = 10;

  int num2 = 20;

  cout << "Before swapping: " << num1 << " " << num2 << endl;

  swap(num1, num2);

  cout << "After swapping: " << num1 << " " << num2 << endl;

  return 0;

}

运行结果:


Before swapping: 10 20

After swapping: 10 20

可以看到,交换并没有成功。这是因为在函数中,a和b只是传递进来的两个变量的副本,对它们的操作不会影响到原来的变量num1和num2。

那么,怎么才能够实现交换呢?这就需要使用指针了。指针是一种特殊的变量,它存储的是另一个变量的内存地址而不是变量的值。指针通常用`*`表示。

现在我们来看一下如何使用指针来实现交换两个整数的值:


#include <iostream>

using namespace std;

void swap(int* a, int* b)

{

  int temp = *a;

  *a = *b;

  *b = temp;

}

int main()

{

  int num1 = 10;

  int num2 = 20;

  cout << "Before swapping: " << num1 << " " << num2 << endl;

  swap(&num1, &num2);

  cout << "After swapping: " << num1 << " " << num2 << endl;

  return 0;

}

运行结果:


Before swapping: 10 20

After swapping: 20 10

现在可以看到,交换成功了。我们在交换函数swap中传递了num1和num2的地址,然后使用指针对它们的值进行交换。

最后再来总结一下:使用指针可以非常方便地在函数中交换两个变量的值,只需要传递变量的地址即可。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复