C++语言学习记录-17:指针与函数

利用指针实现函数的地址传递

之前在函数部分中,如果使用简单的值传递(如程序cpp1),就会发生虽然函数内部的形参值发生改变,但是显示出来的实参值并没有发生变化。因此,需要使用指针进行地址传递,就可以实现实参的交换(如程序cpp2)

//cpp1
#include<iostream>
using namespace std;
void swap(int a, int b)
{
    
    
	int temp;
	temp = a;
	a = b;
	b = temp;
}
//cpp2
#include<iostream>
using namespace std;
void swap1(int *p1, int *p2)
{
    
    
	int temp = *p1;
	*p1 = *p2;
	*p2 = temp
}
int main()
{
    
    
	int a = 1, b = 2;
	swap(&a, &b);

实际上,并没有哪一种传递更好的说法。当想修改实参的值时,就使用地址传递,当不想修改实参的值时,就使用值传递。

猜你喜欢

转载自blog.csdn.net/leanneTN/article/details/109207822