亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

指針的問題

指針的問題

C
four7 2016-12-04 15:04:46
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

基本上你理解得很正確啊。

ival 是一個初值為60021的 int 變量。

?ip是一個int指針。但沒有初始化,也就是它指向不確定的內存,基本上后面很多問題都是由這點引起的。

還有一點:指針類型和整型間不會發生隱式轉型(除了:指針可以隱式轉型為布爾類型;整型常量0可以隱式轉型為NULL指針)。但很多編譯器對此只會給出警告而不會報錯。

  • ival = *ip ?語法上沒有錯誤,但 *ip 可能會引起運行時錯誤。

  • ival = ip ?語法上不允許(見上面的注)。指針不應直接賦值給整型。

  • *ip = ival ?語法上沒有問題,但同樣會因為 *ip 引起運行時錯誤(因為ip可能指向不可寫內存)。

  • ip = ival ?同樣整型也不應直接賦值給指針類型,語法錯誤。

  • *ip = &ival ?這同樣是把指針類型賦值給整型,語法錯誤。且由于 ip 未初始化, *ip 可能引起運行時錯誤。

  • ip = &ival ?這是正確的!

  • dp = ip ?這兩個指針類型不匹配,語法錯誤。

  • dp = *ip ?這還是把整型賦值給指針,語法錯誤。同時 *ip 可能引起運行時錯誤。

  • *dp = *ip ?這其實是把整型賦值給浮點型,雖然兩側類型不一致,但賦值時會自動發生轉型,所以語法上是沒有問題的! ?但同樣會由于指針未初始化引起運行時問題。

查看完整回答
1 反對 回復 2016-12-04
?
onemoo

TA貢獻883條經驗 獲得超454個贊

你要問什么呢?

你先說說你的答案和你的理解吧,我們來看看你理解的對不對

查看完整回答
反對 回復 2016-12-04
  • four7
    four7
    好 稍等
  • four7
    four7
    1.ival=*ip錯誤,因為*ip還未初始化.2.ival=ip錯誤,因為ip還未初始化/前者為數據,而后者為地址,兩者不能等同. 3正確.4.ip=ival錯誤,因為ip為指針地址而ival為數據.5.*ip=&ival錯誤,因為前者為ip所指向的內容,后者為ival的地址.6.正確.7.8.9錯誤,兩者的基類型不同.
  • onemoo
    onemoo
    你理解得基本沒有問題,我又寫了貼詳細解答。
  • 2 回答
  • 1 關注
  • 1287 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號