p是一個指針變量的名字,表示此指針變量指向的內存地址,如果使用%p來輸出的話,它將是一個16進制數。而*p表示此指針指向的內存地址中存放的內容,一般是一個和指針類型一致的變量或者常量。
而我們知道,&是取地址運算符,&p就是取指針p的地址。等會,怎麼又來了個地址,它到底和p有什麼區別?區別在於,指針p同時也是個變量,既然是變量,編譯器肯定要爲其分配內存地址,就像程序中定義了一個int型的變量i,編譯器要爲其分配一塊內存空間一樣。而&p就表示編譯器爲變量p分配的內存地址,而因爲p是一個指針變量,這種特殊的身份註定了它要指向另外一個內存地址,程序員按照程序的需要讓它指向一個內存地址,這個它指向的內存地址就用p表示。而且,p指向的地址中的內容就用*p表示。
p . *p , &p 三個符號 區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
go 多平臺交叉編譯
takujo
2020-07-08 10:41:49
【轉】gophercloud 不錯的openstack golang sdk
牛頓的小腦
2021-08-19 13:34:53
go c nodejs csharp 可能不太準確的性能測試
whitehack
2020-07-08 12:33:27
php+go實現grpc
moliyiran
2020-07-08 11:15:42
go輸出string類型的字符串
Eider1998
2020-07-08 10:54:52
golang image: unknown format 錯誤解決
无风的雨
2020-07-08 10:53:39
`golang` 調用 `etcdv3` 報錯 `undefined: balancer.PickOptions`
lightserver.cn
2020-07-08 10:10:58
VS Code配置Go語言開發環境
小小土豆爱吃鱼
2020-07-08 09:37:44
GO相同文件夾下相同package不同文件間的函數調用
弘毅密令
2020-07-08 09:18:09
在 Go 語言項目中使用 Docker
Java小罗
2020-07-08 06:52:09
使用gomail發送郵件
ula_liu
2020-07-08 06:11:46
go自定義日誌輸出到文件
本文使用go標準庫log進行日誌記錄 1.編寫自定義日誌收集器 package logger import ( "io" "log" "os" ) var ( Info *log.Logger
ula_liu
2020-07-08 06:11:46
go-xorm入門教程
ula_liu
2020-07-08 06:11:46