Go 語言教程
如果一個指針變量存放的又是另一個指針變量的地址,則稱這個指針變量為指向指針的指針變量。
當定義一個指向指針的指針變量時,第一個指針存放第二個指針的地址,第二個指針存放變量的地址:
指向指針的指針變量聲明格式如下:
var ptr **int;
以上指向指針的指針變量為整型。
訪問指向指針的指針變量值需要使用兩個 * 號,如下所示:
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 = %dn", a ) fmt.Printf("指針變量 *ptr = %dn", *ptr ) fmt.Printf("指向指針的指針變量 **pptr = %dn", **pptr) }
以上實例執(zhí)行輸出結(jié)果為:
變量 a = 3000 指針變量 *ptr = 3000 指向指針的指針變量 **pptr = 3000其他擴展