1.按值传递:
#include<iostream>
using namespace std;
void swap(int a, int b){
int c;
cout << "swap交换前,a:" << a << "b:" << b << endl;
c = a;
a = b;
b = c;
cout << "swap交换hou,a:" << a << "b:" << b << endl;
}
int main(){
int x = 3, y = 4;
cout << "main交换前,a:" << x << "b:" << y << endl;
swap(x, y);
cout << "main交换hou,a:" << x << "b:" << y << endl;
return 0;
}
2.按址传递:
#include<iostream>
using namespace std;
void swap(int *a, int *b){
int c;
cout << "swap交换前,a:" << *a << "b:" << *b << endl;
c = *a;
*a = *b;
*b = c;
cout << "swap交换hou,a:" << *a << "b:" << *b << endl;
}
int main(){
int x = 3, y = 4;
cout << "main交换前,a:" << x << "b:" << y << endl;
swap(&x, &y);
cout << "main交换hou,a:" << x << "b:" << y << endl;
return 0;
}
3.按别名传递:
#include<iostream>
using namespace std;
void swap(int &a, int &b){
int c;
cout << "swap交换前,a:" << a << "b:" << b << endl;
c = a;
a = b;
b = c;
cout << "swap交换hou,a:" << a << "b:" << b << endl;
}
int main(){
int x = 3, y = 4;
cout << "main交换前,a:" << x << "b:" << y << endl;
swap(x, y);
cout << "main交换hou,a:" << x << "b:" << y << endl;
return 0;
}
4.综合运用:
#include<iostream>
using namespace std;
void fun(int a, int *b, int &c);
int main(){
int a = 1, b = 2, c = 3;
cout << "main调用fun前\n";
cout << "a:" << a << endl << "b:" << b << endl << "c:" << c << endl;
fun(a, &b, c);
cout << "main调用fun后\n";
cout << "a:" << a << endl << "b:" << b << endl << "c:" << c << endl;
return 0;
}
void fun(int a, int *b, int &c){
cout << "fun函数中,计算前..\n";
cout << "a:" << a << endl << "b:" << *b << endl << "c:" << c << endl;
a += 1;
*b = (*b)*(*b);
c = (c)*(c)*(c);
cout << "fun函数中,计算后..\n";
cout << "a:" << a << endl << "b:" << *b << endl << "c:" << c << endl;
}
更多详情请点击 http://blog.sina.com.cn/zhaojianjunzjj