Welcome

首页 / 软件开发 / C++ / C和C++语言学习总结(二)

C和C++语言学习总结(二)2011-04-184、函数参数传递

C++语言中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递.

"值传递"的示例程序.由于Func1 函数体内的x 是外部变量n 的一份拷贝,

改变x 的值不会影响n, 所以n 的值仍然是0.

void Func1(int x)
{
x = x + 10;
}

int n = 0;
Func1(n);
cout < < "n = " < < n < < endl; // n = 0

"指针传递"的示例程序.由于Func2 函数体内的x 是指向外部变量n 的指

针,改变该指针的内容将导致n 的值改变,所以n 的值成为10.

void Func2(int *x)
{
(* x) = (* x) + 10;
}

int n = 0;
Func2(&n);
cout < < "n = " < < n < < endl; // n = 10

"引用传递"的示例程序.由于Func3 函数体内的x 是外部变量n 的引用,x

和n 是同一个东西,改变x 等于改变n,所以n 的值成为10.

void Func3(int &x)
{
x = x + 10;
}

int n = 0;
Func3(n);
cout < < "n = " < < n < < endl; // n = 10