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
