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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回在被調(diào)用函數(shù)中聲明的指針會發(fā)生什么?

返回在被調(diào)用函數(shù)中聲明的指針會發(fā)生什么?

收到一只叮咚 2019-04-07 11:19:22
例如程序:c#includeint*return_sth(){inttmp=5;int*ptr=&tmp;returnptr;}intmain(void){printf("%p,%d\n",return_sth(),*return_sth());inttmp=10;int*ptr2=&tmp;printf("%p,%d\n",ptr2,tmp);return0;}運行結(jié)果:$./a.out0x7ffc5e2c6274,50x7ffc5e2c6294,10很明顯,在return_sth()返回之后,*ptr是未定義的,那么ptr呢?仍然存在還是一樣是未定義的?
查看完整描述

2 回答

?
揚帆大魚

TA貢獻1799條經(jīng)驗 獲得超9個贊

printf("%p,%d\n",return_sth(),*return_sth());
中,return_sth()返回ptr的值,也就是一個地址,雖然與int不匹配,但編譯器只會發(fā)出警告,但實際上還是一個地址,所以*return_sth()就是對這個地址解引用,當(dāng)然也就是5了,不過你這程序看起來實在沒什么意思
                            
查看完整回答
反對 回復(fù) 2019-04-07
?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

ptr的值就是tmp的地址,int*ptr=&tmp;以后ptr值就確定了,就像intretval=100;returnretval;一樣,不存在未定義的問題。
                            
查看完整回答
反對 回復(fù) 2019-04-07
  • 2 回答
  • 0 關(guān)注
  • 398 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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