先舉個(gè)簡(jiǎn)單例子:
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括萊陽網(wǎng)站建設(shè)、萊陽網(wǎng)站制作、萊陽網(wǎng)頁制作以及萊陽網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,萊陽網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到萊陽省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
#include iostream
using namespace std;
void Add1(int *a)
{
(*a)++;
}
void Add2(int a)
{
a++;
}
int main()
{
int x=1,y=5;
Add1(x);
Add2(y);
coutx" "yendl;
return 0;
}
輸出:
2 5
這兩個(gè)自加函數(shù)中,Add1是指針傳遞,Add2是數(shù)值傳遞,
在調(diào)用Add2(y)時(shí),系統(tǒng)是先建造一個(gè)int型變量a,再將y的值傳給a(此時(shí)y和a是兩個(gè)不同地址的變量,只是兩者值相同),然后a++,卻對(duì)y沒有任何操作,故在函數(shù)調(diào)用結(jié)束后,釋放a,而y沒任何變化;
在調(diào)用Add1(x)時(shí),系統(tǒng)先建造int型指針a,然后將實(shí)參x的地址傳給了指針a,故此時(shí)a與x是指向同一地址,即共享統(tǒng)一數(shù)據(jù),當(dāng)對(duì)地址a內(nèi)的數(shù)據(jù)進(jìn)行操作,就是對(duì)x進(jìn)行操作。a++時(shí)自然也對(duì)x++,當(dāng)函數(shù)調(diào)用結(jié)束,指針a釋放掉,x的值此時(shí)已經(jīng)發(fā)生了變化。
這就是兩者不同,地址傳遞的參數(shù)都是指針類型,于數(shù)值傳遞不一樣。
至于選擇那種傳遞,就要看這個(gè)程序的具體目的和功能了,一般要對(duì)參數(shù)進(jìn)行修改的要用地址傳遞,而只是調(diào)用參數(shù)的數(shù)據(jù)進(jìn)行其他計(jì)算并不需要修改數(shù)據(jù)本身宜用數(shù)值傳遞。
還有什么不明白嗎
是函數(shù)參數(shù)的傳遞方式吧。C語言的話是:值傳遞和指針(地址)傳遞。C++的話除了C語言的兩種方式外還有引用傳遞。
首先,是實(shí)參調(diào)用形參.你說的地址傳遞其實(shí)和值傳遞差不多.比如max( a, b );這是實(shí)參int max( int *p, int *p2 )這是形參.比如實(shí)參,a和b都是取a和b的地址,又因?yàn)閙ax()函數(shù)的形參是*p和*p2( *p和*p2被聲明為整型的指針 ),因?yàn)橹羔樖谴娴刂返?所以把a(bǔ)和b的地址賦給p和p2.下面是一個(gè)把a(bǔ)和b的值交換的程序./* ============================ 程序名:max.c 目的:用地址交換兩個(gè)變量的值. ============================ */#include stdio.hint max( int *p, int *p2 ); /* 聲明函數(shù) */ int main( void ){int a, b;scanf( "%d", a ); /* 輸入兩個(gè)變量的值 */ scanf( "%d", b );printf( "a = %d, b = %d\n", a, b );return 0;}int max( int *p, int *p2 ){int temp; /* 定義一個(gè)臨時(shí)變量,為的只是交換 */temp = *p;*p = *p2;*p2 = temp; /* 己交換 */}
網(wǎng)頁名稱:c語言函數(shù)的傳地址方式,c語言地址傳參
當(dāng)前路徑:http://aaarwkj.com/article4/hsodoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、、域名注冊(cè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)