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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于函數(shù)內(nèi)部定義指針并進(jìn)行操作的一個(gè)疑問

int?change(int*a,int*b)
{????
int?*c=a;???
?*a=*b;????
?*b=*c;????
?return?0;
?}
int?main(int?argc,char**argv)
{//1????
int?a?=5;????
int?b?=6;????
change(&a,&b);????
printf("a'=%d\nb'=%d\n",a,b);
return?0;
????}

在函數(shù)內(nèi)部定義一個(gè)指針c,把指針a指向的值賦給c,再把它傳遞給b,為什么調(diào)用函數(shù)后結(jié)果b'還是6?

int?change(int*a,int*b)
{????
int?c=a*;????
*a=*b;????
*b=c;????
return?0;
}

對(duì)比正確寫法,我可以理解這是把c=5直接賦值給b,但是上面的寫法為什么不對(duì)呢?望大神賜教,謝謝!


正在回答

3 回答

int *c; //指針變量


指針變量只指向內(nèi)存的標(biāo)簽,本質(zhì) *c 就是 a,無論名字還是內(nèi)存(值)都是一樣的

0 回復(fù) 有任何疑惑可以回復(fù)我~
int?*c=a;把a(bǔ)的地址賦值給c
*a=*b;把6賦值給a,也就是說,c現(xiàn)在指向的仍是a,但a已經(jīng)變成了6,所以下一步把c賦值給b時(shí),c指向的是6
0 回復(fù) 有任何疑惑可以回復(fù)我~

正確寫法中“a*”更正為“*a”,不影響提問,謝謝

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于函數(shù)內(nèi)部定義指針并進(jìn)行操作的一個(gè)疑問

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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