#include <stdio.h>
#include "windows.h"
#include "iostream.h"
void Func1(int x) //值传递 x是新创建的一个int类型数据 他初始的值为0(n拷贝给他的)
{
x=x+10; //改变X的值 n是不会改变的
}
void Func2(int *x) //指针传递 x是一个整形指针 指向n的地址&n
{
(*x)=(*x)+10; //*x 相当于指向&n 就是这个地址所存储的数据值
// x=x+10; //x+10 是地址&n+10了 地址改变 但是值不改变
}
void Func3(int &x) //引用传递 x是引用了n, x和n是一个东西 x不过是n的别名而已
{
x=x+10; //x=x+10 相当于n=n+10
}
void main(void)
{
int n=0;
Func1(n); //值传递
cout<<"n="<<n<<endl;
Func2(&n); //指针传递
cout<<"n="<<n<<endl;
Func3(n); //引用传递
cout<<"n="<<n<<endl;
}
本文通过三个函数实例演示了C++中三种不同的参数传递方式:值传递、指针传递和引用传递,并展示了每种方式如何影响原始变量。

被折叠的 条评论
为什么被折叠?



