欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語(yǔ)言函數(shù)參數(shù)傳遞地址 c語(yǔ)言函數(shù)的參數(shù)傳遞

說(shuō)C語(yǔ)言中函數(shù)值傳遞與地址傳遞的方法

先舉個(gè)簡(jiǎn)單例子:

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站托管等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競(jìng)爭(zhēng)對(duì)手中脫穎而出創(chuàng)新互聯(lián)。

#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ù)值傳遞。

還有什么不明白嗎

C語(yǔ)言函數(shù)調(diào)用參數(shù)傳遞的是什么

分兩種,一種是按值傳遞,一種是按地址傳遞,

按值傳遞就是在子函數(shù)中開辟出一個(gè)臨時(shí)內(nèi)存空間,將傳遞的數(shù)值保存在這個(gè)空間中,當(dāng)子函數(shù)結(jié)束后,這個(gè)內(nèi)存空間就會(huì)釋放了!

按地址傳遞則是把主函數(shù)開辟的某個(gè)內(nèi)存空間首地址傳遞給子函數(shù),子函數(shù)可以直接讀寫主函數(shù)上這段內(nèi)存空間,當(dāng)子函數(shù)結(jié)束后,這部分空間不會(huì)被釋放,主函數(shù)將繼續(xù)使用這段空間!

C語(yǔ)言:什么時(shí)候需要在函數(shù)間傳遞函數(shù)的地址,如何傳?

當(dāng)傳遞的數(shù),不止一個(gè)的時(shí)候,或者要改變參數(shù)值得時(shí)候返回實(shí)參的值得時(shí)候。就用傳遞地址。

例如:

getct(int

*a,int

*b)

{

printf("%d

%d",*a,*b);

}

mian()

{

int

x=5,y=3;

int

*s,*z;

s=x;z=y;

getct(s,z);

}

當(dāng)前文章:c語(yǔ)言函數(shù)參數(shù)傳遞地址 c語(yǔ)言函數(shù)的參數(shù)傳遞
網(wǎng)頁(yè)路徑:http://www.chinadenli.net/article42/dddcphc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)面包屑導(dǎo)航軟件開發(fā)Google小程序開發(fā)品牌網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)