Go 語言指向指針的指針
如果一個(gè)指針變量存放的又是另一個(gè)指針變量的地址,則稱這個(gè)指針變量為指向指針的指針變量。
當(dāng)定義一個(gè)指向指針的指針變量時(shí),第一個(gè)指針存放第二個(gè)指針的地址,第二個(gè)指針存放變量的地址:
指向指針的指針變量聲明格式如下:
var ptr **int
以上指向指針的指針變量為整型。
訪問指向指針的指針變量值需要使用兩個(gè) * 號(hào),如下所示:
package main
import "fmt"
func main() {
var a int
var ptr *int
var pptr **int
a = 3000
/* 指針 ptr 地址 */
ptr = &a
/* 指向指針 ptr 地址 */
pptr = &ptr
/* 獲取 pptr 的值 */
fmt.Printf("變量 a = %d\n", a )
fmt.Printf("指針變量 *ptr = %d\n", *ptr )
fmt.Printf("指向指針的指針變量 **pptr = %d\n", **pptr)
}
以上實(shí)例執(zhí)行輸出結(jié)果為:
變量 a = 3000
指針變量 *ptr = 3000
指向指針的指針變量 **pptr = 3000
更多建議: