国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

值傳遞,指針傳遞,引用傳遞 的區別

2019-11-08 19:36:28
字體:
來源:轉載
供稿:網友
值傳遞,指針傳遞,引用傳遞 的區別值傳遞:從被調用函數的角度來說,值傳遞是單向的(實參->形參),參數的值只能傳入,不能傳出形參為實參的拷貝,形參有單獨的內存空間,當函數內部需要修改參數,并且不希望這個改變影響調用者時,采用值傳遞指針傳遞:指針傳遞向形參傳遞的為實參的地址,即形參為一個指向實參地址的指針,形參的值為實參的地址,而形參所在的地址并不是實參的地址對形參指向內容的修改即改變了實參的值引用傳遞:引用傳遞與指針傳遞不同是:引用傳遞中形參與實參的地址和參數值都是相同的,形參與實參只是名字不一樣(形參相當于實參的別名)

實際上是一個對象

#include "stdafx.h"#include<iostream>using namespace std;void ValueTransfer(int a, int b){	int temp = a;	a = b;	b = temp;	cout << a << b << endl;	cout << "形參a與b的地址為/n";	cout << &a << ' ' << &b << endl;}void PointerTransfer(int *a, int *b){	int temp = *a;	*a = *b;	*b = temp;	cout << *a << *b << endl;	cout << "形參a與b的地址為/n";	cout << &a << ' ' << &b << endl;}void QuoteTransfer(int &a, int&b){	int temp = a;	a = b;	b = temp;	cout << a << b << endl;	cout << "形參a與b的地址為/n";	cout << &a << ' ' << &b << endl;}int main(){		int x = 3;	int y = 4;	//value transfer	cout << "值傳遞/n";	ValueTransfer(x, y);	cout << "實參x與y地址為/n";	cout << &x << ' ' << &y << endl;	cout << "傳遞后實參的值為:/n";	cout << x << y << endl << endl;		//PointerTransfer	cout << "指針傳遞/n";	PointerTransfer(&x, &y);	cout << "實參x與y地址為/n";	cout << &x << ' ' << &y << endl;	cout << "傳遞后實參的值為:/n";	cout << x << y << endl << endl;	//QuoteTransfer	cout << "引用傳遞/n";	QuoteTransfer(x, y);	cout << "實參x與y地址為/n";	cout << &x << ' ' << &y << endl;	cout << "傳遞后實參的值為:/n";	cout << x << y << endl << endl;	return 0;}結果:


上一篇:枚舉

下一篇:jsoup 中文 api

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 班戈县| 金坛市| 叶城县| 孝义市| 兴国县| 金溪县| 永年县| 揭阳市| 嘉善县| 天津市| 罗平县| 宜良县| 克什克腾旗| 高阳县| 连江县| 陈巴尔虎旗| 枝江市| 齐齐哈尔市| 夏津县| 资兴市| 九寨沟县| 元谋县| 罗源县| 盐源县| 新疆| 乌拉特后旗| 合水县| 全南县| 湘潭县| 伊宁县| 望江县| 沙洋县| 宁陵县| 柳州市| 西吉县| 蓝山县| 江安县| 高台县| 建瓯市| 岑溪市| 泾阳县|