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

it2025-02-05  9

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

之前在函数部分中,如果使用简单的值传递(如程序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);

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

最新回复(0)