第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

您好,請(qǐng)問(wèn)下指針做為實(shí)參是值傳遞還是地址傳遞?比如下面的內(nèi)容:

您好,請(qǐng)問(wèn)下指針做為實(shí)參是值傳遞還是地址傳遞?比如下面的內(nèi)容:

烙印99 2022-01-20 20:15:16
傳遞T所指向的地址呢?代碼如下(初始化功能不能正常運(yùn)行):int InitBiTree(BiTree T){ T=NULL;return 1;}void main(){BiTree T;(這是結(jié)構(gòu)體指針變量)InitBiTree(T);}我知道在調(diào)用那兒加&和在定義那兒改成二重指針就行,但不明白為什么。原來(lái)在寫(xiě)鏈表的時(shí)候,我這樣都對(duì)的。
查看完整描述

2 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

不要拘于表面,一直關(guān)心是傳值還是傳地址,這些又有什么分別,一切皆為數(shù)據(jù),你所要理解的是,你所操作的數(shù)據(jù)是作為普通數(shù)據(jù),還是作為內(nèi)存地址,然而這些又是怎么區(qū)分的呢,編譯器知道,你知道,編譯器又是怎么知道的呢,依靠的是變量類型
就拿你的例子來(lái)說(shuō),你是想吧main函數(shù)的T置為NULL,你把它傳到InitBiTree函數(shù)內(nèi),使用T=NULL操作,此時(shí)你有沒(méi)有想過(guò),main函數(shù)的T和InitBiTree函數(shù)的參數(shù)T雖然名字相同,但已不是同一變量,唯一的聯(lián)系是,兩者的值是相同的,但此唯一的聯(lián)系在你對(duì)InitBiTree函數(shù)內(nèi)T賦值為NULL后蕩然無(wú)存,此時(shí)他倆是半毛錢關(guān)系都沒(méi)有了,
這就好比:
int a = 0;
int *b = &a;
int *c = &a;
本來(lái)b與c同樣指向相同的a,但你認(rèn)為c=NULL; 操作后,會(huì)影響到b嗎,當(dāng)然不可能,你可以想,如果我就是要把b的值改為NULL怎么辦,那你就得先想一下你要修改的東西在哪里放著,b的值在&b這個(gè)位置放著,如果把這個(gè)位置的的東西換成NULL,那b也就等于NULL了,怎么操作呢,
int **d = &b; // 這樣d變量里就存下了b的地址

*d = NULL;// 你應(yīng)該知道*d是在把d里的數(shù)據(jù)當(dāng)做一個(gè)地址來(lái)操作把,把該地址里的數(shù)據(jù)置NULL

這之后的b的值可就不再是&a了;
同樣的,你想把main函數(shù)里的T的值置為NULL,那就要先找到這個(gè)T的值在哪里放著,&T,毫無(wú)疑問(wèn),你想要在InitBiTree函數(shù)內(nèi)操作,那就得把我需要的這個(gè)位置告訴我,有了這個(gè)位置我才能干這個(gè)活兒,怎么給呢,int InitBiTree(BiTree *T);函數(shù)的參數(shù)改成這樣(正常情況下是這樣寫(xiě)),這樣函數(shù)的參數(shù)就可以接收你的&T,此函數(shù)內(nèi)部只要把你傳進(jìn)來(lái)的值當(dāng)做一個(gè)地址,把地址里的數(shù)據(jù)置為NULL,
*T = NULL;
就實(shí)現(xiàn)了將main函數(shù)里的T設(shè)置為NULL的夢(mèng)想了
復(fù)雜嗎,沒(méi)覺(jué)得啊,值是數(shù)據(jù),地址也是數(shù)據(jù),不要太死板的看待這些東西



查看完整回答
反對(duì) 回復(fù) 2022-01-23
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

雖然你在初始化函數(shù)里面對(duì)T做了賦值,但這個(gè)值并沒(méi)有被你返回到主函數(shù)里面。

查看完整回答
反對(duì) 回復(fù) 2022-01-23
  • 2 回答
  • 0 關(guān)注
  • 337 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)