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

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

當 i := &b 時 '&i' 是什么意思

當 i := &b 時 '&i' 是什么意思

Go
婷婷同學_ 2023-06-19 14:06:13
我正在學習圍棋,我嘗試了'&'來獲取內存地址。但是我不知道'&i'是什么意思,'i'來自i := &b,b是一個int。b := 7i := &bfmt.Println(&b) //print => 0xc000088000fmt.Println(i) //print => 0xc000088000fmt.Println(&i) //print => 0xc00000e018在這種情況下,'&i' 的含義是什么?
查看完整描述

3 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

&是地址運算符,評估它會得到一個內存地址,當傳遞給包時fmt,內存地址通常以十六進制格式打印(“base 16 notation, with leading 0x”)。

內存地址就是:內存地址。int它是變量的地址還是 a?string,或者指針類型的變量都沒有關系。打印時,它們看起來都“相同”。

地址運算符:

x對于類型的操作數T,尋址操作&x生成一個*T指向類型的指針x

所以地址運算符給你一個指針值,當你取消引用時,你會得到原始值。

&b將是變量的地址b,類型為*int,當您取消引用時:*b將為您提供(的值)b

&ii將是類型為 的變量的地址**int,當您取消引用時:*i將為您提供的值i是 的地址b。因此,如果您還取消引用 that:?**(&i),那也會給您 (的價值)?b。


查看完整回答
反對 回復 2023-06-19
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

這里&b返回的地址b和相同的地址存儲在i。由于i也是一個變量&i將返回變量i的地址。



查看完整回答
反對 回復 2023-06-19
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

所以&運算符生成一個指向它的操作數的指針。所以&i基本上生成一個指針,i它已經是一個指針b,它只是一個內存地址。所以當你這樣做時,fmt.Println(&i)它會打印出i.



查看完整回答
反對 回復 2023-06-19
  • 3 回答
  • 0 關注
  • 264 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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