C++學習6 - 按值傳遞,按…

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章